Menu
CoddyTech

وميض البطل

جزء من قسم المشاريع في رحلة 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() عند كل إصابة. يمكنك استدعاء دالة في عقدة أخرى من خلال تلك العقدة.

challenge icon

التحدي

متوسط

اجعل البطل يومض باللون الأحمر عندما يلمسه الحارس.

  1. في hero.gd، اكتب flash(): اضبط modulate على Color(1, 0.3, 0.3)، ثم أعده تدريجيًا إلى Color(1, 1, 1) خلال 0.5 ثانية.
  2. في 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