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

اهتزاز الشاشة

جزء من قسم الإحساس باللعبة في رحلة 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).

challenge icon

التحدي

متوسط

في _process:

  1. قرّب shake من 0 بمقدار 30.0 * delta باستخدام move_toward،
  2. عيّن 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
quiz iconاختبر نفسك

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

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

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