Onready
جزء من قسم العُقد والمشاهد في رحلة Godot على Coddy. الدرس 21 من 27.
إن كتابة $Face/Eyes في كل إطار تبحث عن العقدة 60 مرة في الثانية. من الأفضل العثور عليها مرة واحدة والاحتفاظ بها في متغير.
تُنشأ المتغيرات الموجودة في أعلى السكربت عندما تُنشأ العقدة. لم تُضَف عُقدها الفرعية بعد، لذا لن يعثر $Face/Eyes على شيء، ولن يبدأ Godot اللعبة. ضع @onready في البداية، وسيُعيّن Godot قيمة المتغير عندما تصبح العقدة جاهزة، قبل تشغيل _ready() مباشرةً:
@onready var mouth = $Face/Mouth
func _ready():
mouth.position.y += 2بعد ذلك، تكون mouth هي العقدة في كل دالة في السكربت.
التحدي
سهلاصنع روبوتًا يشعر بالدوار:
- احتفظ بالعينين في متغير:
@onready var eyes = $Face/Eyes. - في
_process()، أدرeyesباتجاه عقارب الساعة، نصف دورة كل ثانية. تدور العينان حول منتصف الوجه، ويبقى الروبوت ساكنًا.
جرّب بنفسك
extends Node2D
func _process(delta):
pass
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس العُقد والمشاهد
تدرّب بنفسك: Playground لـ Godot