Menu
CoddyTech

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

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

التحدي

متوسط

اهتزّ الشاشة عندما يدوس الروبوت.

  1. في _process، قرّب shake من 0 بمقدار 30.0 * delta باستخدام move_toward.
  2. عيّن offset إلى Vector2 بقيمتين عشوائيتين لـ x وy بين -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