الأرقام العائمة
جزء من قسم الإحساس باللعبة في رحلة Godot على Coddy. الدرس 19 من 23.
يُخبر الرقم الذي يطفو إلى الأعلى عند تلقي ضربة اللاعب بما حدث.
تنشئ الدالة hit() في الروبوت بالفعل عنصر Label يعرض -1 فوق رأسه. ومثل شظايا الصندوق، يُضاف العنصر إلى get_parent()، لذا فهو لا يتحرك ولا يومض مع الروبوت.
لجعله يطفو، حرّك الخاصية "position:y" إلى الأعلى والخاصية "modulate:a" إلى 0 في الوقت نفسه. عند انتهاء الحركة، أزِل العنصر باستخدام label.queue_free(). وإلا فسيبقى في اللعبة، لكنه سيكون غير مرئي.
var rise = create_tween()
rise.tween_property(label, "position:y", label.position.y - 40, 0.6)القيمة الأولى في tween_property هي العُقدة التي تريد تغييرها. وهي هنا label، وليست self.
التحدي
متوسطاجعل -1 يطفو مبتعدًا. بعد إضافة التسمية:
- حرّك
"position:y"بمقدار 40 بكسل إلى الأعلى خلال 0.6 ثانية، - وبالتوازي، حرّك
"modulate:a"إلى0.0، - استخدم
awaitلانتظارfinishedالخاص بالتحريك، ثم نفّذlabel.queue_free().
جرّب بنفسك
extends Node2D
func hit():
modulate = Color(4, 4, 4)
var tween = create_tween()
tween.tween_property(self, "modulate", Color(1, 1, 1), 0.3)
var label = Label.new()
label.text = "-1"
label.modulate = Color(1, 0.42, 0.42)
label.position = position + Vector2(-8, -110)
get_parent().add_child(label)
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الإحساس باللعبة
1التحريكات التدريجية (Tweens)
أول تحريك تدريجي لكحرّك أي خاصية تدريجيًاالتلاشيتخفيف الحركة عند النهايةواحدًا تلو الآخرفي الوقت نفسهعملة تقفزتدرّب بنفسك: Playground لـ Godot