script:feature:double_jump
Mục lục
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