Công cụ thành viên

Công cụ trang web


script:feature:double_jump

Kịch bản Cơ chế nhảy hai lần

Chức năng

  • Script này giúp quản lý cơ chế nhảy của người chơi trong game. Nó theo dõi trạng thái chuyển động của người chơi để quyết định khi nào họ có thể nhảy thêm một lượt trên không trung và thực hiện thao tác nhảy khi nhấn phím.

Ứng dụng

  • Tạo cơ chế đặc biệt trong bản đồ.
  • Gameplay nâng cao: Kết hợp với các sự kiện và hành động khác để thiết kế bản đồ và chức năng tùy chỉnh.

Quản lý trạng thái nhảy của người chơi

local playerCanJump = {}
  • Biến playerCanJump là một bảng (table) dùng để lưu trạng thái nhảy của từng người chơi, được xác định bằng uid người chơi đó.

Xử lý thay đổi trạng thái chuyển động của người chơi

local function onPlayerMotionChange(event)
    if event.playermotion == 4 then
        playerCanJump[event.eventobjid] = true
    elseif event.playermotion == 32 then
        playerCanJump[event.eventobjid] = false
    end
end
ScriptSupportEvent:registerEvent("Player.MotionStateChange", onPlayerMotionChange)

Hàm onPlayerMotionChange theo dõi sự kiện thay đổi trạng thái chuyển động của người chơi:

  • Khi trạng thái playermotion là 4 (người chơi nhảy lên), người chơi có thể thực hiện thêm hành động nhảy (true).
  • Khi trạng thái playermotion là 32 (người chơi tiếp đất), người chơi không thể thực hiện thêm hành động nhảy (false).

Xử lý khi người chơi nhấn phím

local function onPlayerKeyDown(event)
    local uid = event.eventobjid
    if event.vkey == "SPACE" and playerCanJump[uid] then
        Actor:appendSpeed(uid, 0, 0.8, 0)
        playerCanJump[uid] = false
    end
end
ScriptSupportEvent:registerEvent("Player.InputKeyDown", onPlayerKeyDown)

Hàm onPlayerKeyDown xử lý sự kiện khi người chơi nhấn phím:

  • Nếu phím được nhấn là SPACE và người chơi đang trong trạng thái có thể nhảy, thì nhân vật sẽ được tăng tốc theo trục Y (0.8 đơn vị – có thể tùy chỉnh).
  • Sau khi nhảy, trạng thái nhảy của người chơi sẽ được đặt thành false để tránh nhảy liên tục trên không.

Cre:Nguyễn Khánh 2025/02/28 10:09


Nếu bạn có bất kỳ câu hỏi nào về Chế Độ DEV Nâng Cao, vui lòng tham gia
Mini World Developer Việt Nam chính thức của chúng tôi

script/feature/double_jump.txt · Sửa đổi lần cuối: 2025/02/28 10:13 bởi leo