Người gom xu: Di chuyển
Thuộc phần Tín hiệu và va chạm trong hành trình Godot của Coddy. Bài học 23 trên 27.
Trong năm bài học tiếp theo, bạn sẽ xây dựng Coin Collector. Bạn đi quanh một căn phòng, nhặt hết các đồng xu và chiến thắng khi đồng xu cuối cùng biến mất.
Trò chơi có ba tập lệnh:
player.gd: robot mà bạn di chuyển.coin.gd: tập lệnh này chạy trên từng đồng xu.main.gd: chứa luật chơi trênMain.
Trước tiên là đi bộ. Người chơi là một CharacterBody2D. Các bức tường và hai khối màu xám là StaticBody2D. Bạn đã viết đoạn code điều khiển nhân vật này ở phần trước:
func _physics_process(delta):
velocity = Input.get_vector("move_left", "move_right", "move_up", "move_down") * SPEED
move_and_slide()move_and_slide() di chuyển thân thể theo velocity và dừng lại khi chạm tường. Nếu tự thay đổi position, nhân vật sẽ đi xuyên qua tường.
Thử thách
DễBắt đầu trò Coin Collector: cho nhân vật di chuyển.
- Trong
player.gd, đặtvelocitybằngInput.get_vector("move_left", "move_right", "move_up", "move_down")nhân vớiSPEED. - Sau đó gọi
move_and_slide(). Giữ nguyêncoin.gdvàmain.gd.
Nhấn Chơi: các phím mũi tên hoặc WASD điều khiển nhân vật di chuyển, còn các bức tường sẽ chặn nhân vật. Sau đó nhấn Kiểm tra.
Tự làm thử
extends CharacterBody2D
const SPEED = 200.0
func _physics_process(delta):
pass
Tất cả bài học trong Tín hiệu và va chạm
6Dự án: Người gom xu
Người gom xu: Di chuyểnNgười gom xu: Tiền xuTự luyện tập: Playground Godot