Menu
CoddyTech

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ên Main.

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.

challenge icon

Thử thách

Dễ

Bắt đầu trò Coin Collector: cho nhân vật di chuyển.

  1. Trong player.gd, đặt velocity bằng Input.get_vector("move_left", "move_right", "move_up", "move_down") nhân với SPEED.
  2. Sau đó gọi move_and_slide(). Giữ nguyên coin.gd và 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

Tự luyện tập: Playground Godot