اهتزاز الشاشة
جزء من قسم الإحساس باللعبة في رحلة Godot على Coddy. الدرس 11 من 23.
يشير اهتزاز الشاشة إلى لحظة مهمة، مثل الدوس أو الانفجار. في هذا المستوى، يستدعي E الدالة start_shake() الخاصة بالكاميرا، التي تضبط shake على 12. لا يتحرك أي شيء بعد.
للعقدة Camera2D خاصية offset، وهي قيمة من النوع Vector2 تُزيح العرض من دون تحريك عقدة الكاميرا. يؤدي إنشاء إزاحة عشوائية جديدة في كل إطار إلى اهتزاز العرض.
offset = Vector2(randf_range(-shake, shake), randf_range(-shake, shake))يجب أن يتوقف الاهتزاز. خفّض قيمة shake باتجاه 0 في كل إطار باستخدام move_toward، لكي تصبح القفزات أصغر.
shake = move_toward(shake, 0.0, 30.0 * delta)عندما تصل قيمة shake إلى 0، يصبح العددان العشوائيان 0، وتعود offset إلى Vector2(0, 0).
التحدي
متوسطفي _process:
- قرّب
shakeمن 0 بمقدار30.0 * deltaباستخدامmove_toward، - عيّن
offsetإلىVector2عشوائي بين-shakeوshakeعلى كل محور.
ثم اضغط على E للدوس.
جرّب بنفسك
extends Camera2D
var shake = 0.0
func _ready():
limit_left = 0
limit_top = 0
limit_right = 1600
limit_bottom = 360
func start_shake():
shake = 12.0
func _process(delta):
pass
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الإحساس باللعبة
1التحريكات التدريجية (Tweens)
أول تحريك تدريجي لكحرّك أي خاصية تدريجيًاالتلاشيتخفيف الحركة عند النهايةواحدًا تلو الآخرفي الوقت نفسهعملة تقفزتدرّب بنفسك: Playground لـ Godot