وميض البطل
جزء من قسم المشاريع في رحلة Godot على Coddy. الدرس 34 من 36.
من السهل ألا تلاحظ فقدان قلب في الشريط العلوي. اجعل البطل يومض باللون الأحمر عند إصابته، ثم يتلاشى عائدًا إلى لونه السابق. يحقق ذلك انتقال تدريجي، داخل الدالة flash() في البطل:
func flash():
modulate = Color(1, 0.3, 0.3)
var tween = create_tween()
tween.tween_property(self, "modulate", Color(1, 1, 1), 0.5)يتحول اللون إلى الأحمر فورًا، ثم يعيده انتقال تدريجي إلى الأبيض على مدى نصف ثانية. يغيّر modulate لون البطل وجميع العناصر التابعة له.
يستدعي main.gd الدالة $Hero.flash() عند كل إصابة. يمكنك استدعاء دالة في عقدة أخرى من خلال تلك العقدة.
التحدي
متوسطاجعل البطل يومض باللون الأحمر عندما يلمسه الحارس.
- في
hero.gd، اكتبflash(): اضبطmodulateعلىColor(1, 0.3, 0.3)، ثم أعده تدريجيًا إلىColor(1, 1, 1)خلال0.5ثانية. - في
main.gd، استدعِ$Hero.flash()عندما يلمس الحارس البطل.
اضغط على «العب» والمس الحارس: يومض البطل باللون الأحمر. ثم اضغط على «تحقق».
جرّب بنفسك
extends CharacterBody2D
const SPEED = 160
func _physics_process(delta):
velocity = Input.get_vector("move_left", "move_right", "move_up", "move_down") * SPEED
move_and_slide()
جميع دروس المشاريع
تدرّب بنفسك: Playground لـ Godot