Menu
CoddyTech

Nhảy lên

Thuộc phần Đầu vào và di chuyển trong hành trình Godot của Coddy. Bài học 13 trên 28.

Để nhảy, hãy đặt velocity.y thành một tốc độ hướng lên lớn trong khung hình người chơi nhấn jump. Hướng lên có y nhỏ hơn, nên giá trị này là số âm:

var jump_velocity = -500

func _physics_process(delta):
	velocity.y += gravity * delta
	if Input.is_action_just_pressed("jump"):
		velocity.y = jump_velocity
	move_and_slide()

Bạn không cần viết code cho lúc đi xuống. Trọng lực tiếp tục cộng vào velocity.y, khiến nhân vật chậm lại khi bay lên, dừng ở điểm cao nhất rồi rơi xuống.

Dùng is_action_just_pressed, không dùng is_action_pressed. Nếu giữ phím, tốc độ sẽ được đặt thành -500 ở mỗi khung hình và nhân vật sẽ bay khỏi màn hình.

challenge icon

Thử thách

Dễ

Làm cho nhân vật nhảy.

  1. Giữa dòng trọng lực và move_and_slide(), thêm câu lệnh if cho Input.is_action_just_pressed("jump").
  2. Bên trong câu lệnh đó, đặt velocity.y thành jump_velocity.

Nhấn Chơi rồi nhấn phím cách: nhân vật nhảy lên rồi hạ xuống, và giữ phím cách không khiến nhân vật bay. Sau đó nhấn Kiểm tra.

Tự làm thử

extends CharacterBody2D

var gravity = 1000
var jump_velocity = -500

func _physics_process(delta):
	velocity.y += gravity * delta
	move_and_slide()

Tất cả bài học trong Đầu vào và di chuyển

Tự luyện tập: Playground Godot