Tuğlaları Kır
Coddy'nin Godot Journey'sinin Projeler bölümünün bir parçası. Ders 6 / 33.
Top tuğlaların içinden geçer. Tuğlalar da gövdedir ve her biri bricks grubundadır. is_in_group, tuğlayı raketten ayırt eder.
Her tuğlanın bir smash() işlevi vardır. Tuğlayı kıvılcımlara dönüştürerek parçalar ve onu kaldırır.
elif body.is_in_group("bricks"):
body.smash()Ardından top, tuğlanın orta noktasından uzağa seker: tuğladan aşağıdaysa aşağı, yukarıdaysa yukarı. Top, bir boşluktan geçtikten sonra tuğlaya yukarıdan çarpabilir.
if position.y > body.position.y:
velocity.y = abs(velocity.y)
else:
velocity.y = -abs(velocity.y)velocity.y değerinin işaretini tersine çevirmeyin. Top aynı anda iki tuğlaya dokunursa, iki kez tersine çevirme birbirini götürür.
Görev
Orta_on_body_entered içinde, bricks grubundaki gövdeler için bir elif ekle:
body.smash()çağrısını yap.- Top tuğlanın orta noktasının altındaysa aşağı, üstündeyse yukarı doğru sektir.
Kendin dene
extends Area2D
var velocity = Vector2(110, -280)
func _ready():
body_entered.connect(_on_body_entered)
func _physics_process(delta):
position += velocity * delta
if position.x < 8 or position.x > 632:
velocity.x = -velocity.x
if position.y < 42:
velocity.y = -velocity.y
func _on_body_entered(body):
if body.name == "Paddle":
velocity.x = (position.x - body.position.x) * 5
velocity.y = -abs(velocity.y)
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Projeler bölümündeki tüm dersler
1Proje: Breakout
Breakout RaketiRaketi Ekranda TutKendi başına pratik yap: Godot playground