Batasi pada Layar
Termasuk bagian Input dan Pergerakan dalam perjalanan Godot di Coddy. Pelajaran 21 dari 28.
Bergerak ke kiri membuat hero keluar dari layar. clamp(value, low, high) menjaga angka tetap di antara dua batas. Fungsi ini mengembalikan low jika value berada di bawahnya, high jika value berada di atasnya, dan value jika tidak. clamp(700, 14, 626) menghasilkan 626.
Batasi posisi setelah bergerak, lalu simpan hasilnya:
move_and_slide()
position.x = clamp(position.x, 14, 626)position adalah titik tengah hero, dan lebar hero adalah 28 piksel. Jadi titik tengahnya tetap berjarak 14 piksel dari setiap tepi layar selebar 640 piksel, dan seluruh hero tetap terlihat.
Tantangan
MudahPastikan seluruh hero tetap terlihat di layar. Setelah move_and_slide(), batasi position.x antara 14 dan 626.
Coba sendiri
extends CharacterBody2D
var speed = 220
var acceleration = 900
var friction = 2400
var gravity = 1000
var jump_velocity = -500
func _physics_process(delta):
velocity.y += gravity * delta
if Input.is_action_just_pressed("jump") and is_on_floor():
velocity.y = jump_velocity
var direction = Input.get_axis("move_left", "move_right")
if direction == 0:
velocity.x = move_toward(velocity.x, 0, friction * delta)
else:
velocity.x = move_toward(velocity.x, direction * speed, acceleration * delta)
if direction > 0:
$Look.scale.x = 1
if direction < 0:
$Look.scale.x = -1
move_and_slide()
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Input dan Pergerakan
1Aksi input
Tekan untuk BergerakKiri dan KananSatu SumbuEmpat ArahBaru DitekanInput yang Tidak Ditangani4Gerakan Halus
Percepat Secara BertahapGesekanHadap ke Arah GerakanmuBatasi pada LayarBatasi Kedua SumbuLatihan sendiri: Playground Godot