Menu
CoddyTech

Rung màn hình

Thuộc phần Cảm giác chơi game trong hành trình Godot của Coddy. Bài học 11 trên 23.

Một cú rung màn hình đánh dấu khoảnh khắc quan trọng, chẳng hạn như cú giậm chân hoặc vụ nổ. Ở màn này, E gọi start_shake() của camera, đặt shake thành 12. Chưa có gì chuyển động.

Camera2D có một offset, là một Vector2 dịch chuyển khung nhìn mà không di chuyển nút camera. Mỗi khung hình, một độ lệch ngẫu nhiên mới sẽ làm khung nhìn rung.

offset = Vector2(randf_range(-shake, shake), randf_range(-shake, shake))

Rung lắc phải dừng lại. Mỗi khung hình, giảm dần shake về 0 bằng move_toward để các cú nhảy nhỏ dần.

shake = move_toward(shake, 0.0, 30.0 * delta)

Khi shake đạt 0, cả hai số ngẫu nhiên đều bằng 0 và offset trở về Vector2(0, 0).

challenge icon

Thử thách

Trung bình

Làm rung màn hình khi robot dậm chân.

  1. Trong _process, đưa shake về gần 0 với tốc độ 30.0 * delta bằng move_toward.
  2. Đặt offset thành một Vector2 với giá trị x và y ngẫu nhiên trong khoảng từ -shake đến shake.

Nhấn Chơi rồi nhấn E để dậm chân: khung hình rung lên rồi ổn định lại. Sau đó nhấn Kiểm tra.

Tự làm thử

extends Camera2D

var shake = 0.0

func _ready():
	limit_left = 0
	limit_top = 0
	limit_right = 1600
	limit_bottom = 360

func start_shake():
	shake = 12.0

func _process(delta):
	pass
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Cảm giác chơi game

Tự luyện tập: Playground Godot