Menu
CoddyTech
flag Ar iconالعربيةdown icon

تجميد لحظة الإصابة

جزء من قسم الإحساس باللعبة في رحلة 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. فهو يؤثر في اللعبة بأكملها ويظل كذلك إلى أن يغيّره الكود.

challenge icon

التحدي

متوسط

بعد الوميض في 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)
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الإحساس باللعبة

تدرّب بنفسك: Playground لـ Godot