إدخال غير معالج
جزء من قسم الإدخال والحركة في رحلة Godot على Coddy. الدرس 6 من 28.
يمكن لـ Godot أيضًا أن يخبرك عن المفاتيح. كل ضغطة على مفتاح وكل إفلات له هو حدث. يرسل Godot كل حدث إلى دالة تُسمى _unhandled_input:
func _unhandled_input(event):
if event.is_action_pressed("action"):
print("Action!")تُنفَّذ الدالة مرة واحدة لكل حدث، وليس في كل إطار. تكون event.is_action_pressed("action") صحيحة عندما يكون الحدث هو ضغط مفتاح action. أما عند إفلاته، فتكون خاطئة.
تحوّل not القيمة true إلى false والعكس. يبدّل هذا السطر العقدة بين التشغيل والإيقاف:
$Lamp.visible = not $Lamp.visibleلدى البطل مصباح Lamp مخفي على هوائيه. مفاتيح action هي E وEnter.
التحدي
سهلشغّل مصباح البطل وأطفئه باستخدام مفتاح.
- في
_unhandled_input(event)، أضف عبارةifللتحقق منevent.is_action_pressed("action"). - داخلها، اجعل قيمة
$Lamp.visibleعكس قيمتها الحالية.
اضغط على «العب» ثم اضغط على E: يضيء المصباح، وتؤدي الضغطة التالية إلى إطفائه. ثم اضغط على «تحقق».
جرّب بنفسك
extends Node2D
func _unhandled_input(event):
pass
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الإدخال والحركة
تدرّب بنفسك: Playground لـ Godot