تجميد لحظة الإصابة
جزء من قسم الإحساس باللعبة في رحلة Godot على Coddy. الدرس 17 من 23.
يُوقِف تجميد الضربة اللعبة لجزء من الثانية عند وقوع ضربة. وهذا يجعل الضربة تبدو قوية.
Engine.time_scale هو سرعة ساعة اللعبة. عند القيمة 1، تعمل اللعبة بشكل طبيعي. وعند القيمة 0.05، تصبح الحركة والانتقالات الزمنية والمؤقتات أبطأ بعشرين مرة.
Engine.time_scale = 0.05
await get_tree().create_timer(0.1, true, false, true).timeout
Engine.time_scale = 1.0يعمل المؤقت العادي وفق الساعة المُبطّأة، لذا ستستغرق 0.1 ثانية ثانيتين فعليتين. تجعل قيمة true الأخيرة في create_timer المؤقت يتجاهل time_scale ويحسب الثواني الفعلية. والقيمتان اللتان تسبقانها هما القيمتان الافتراضيتان المعتادتان.
أعِد time_scale دائمًا إلى 1. فهو يؤثر في اللعبة بأكملها ويظل كذلك إلى أن يغيّره الكود.
التحدي
متوسطبعد الوميض في hit()، أوقف اللعبة مؤقتًا. اضبط Engine.time_scale على 0.05، وانتظر 0.1 ثانية فعلية باستخدام مؤقّت يتجاهل مقياس الوقت، ثم أعد ضبطه إلى 1.0. اضغط على E وشاهد الطائرة المسيّرة تتوقف.
جرّب بنفسك
extends Node2D
func hit():
modulate = Color(4, 4, 4)
var tween = create_tween()
tween.tween_property(self, "modulate", Color(1, 1, 1), 0.3)
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الإحساس باللعبة
1التحريكات التدريجية (Tweens)
أول تحريك تدريجي لكحرّك أي خاصية تدريجيًاالتلاشيتخفيف الحركة عند النهايةواحدًا تلو الآخرفي الوقت نفسهعملة تقفزتدرّب بنفسك: Playground لـ Godot