جامع العملات: العملات المتبقية
جزء من قسم الإشارات والتصادمات في رحلة Godot على Coddy. الدرس 26 من 27.
ينبغي أن يعرف Main عدد العملات المتبقية. احتفظ بالعدد في متغير أعلى main.gd. احسب المجموعة مرة واحدة عند البداية، ثم اطرح واحدًا مقابل كل عملة يتم جمعها:
var coins_left = 0
func _ready():
coins_left = get_tree().get_nodes_in_group("coins").size()لماذا لا نحسب المجموعة داخل _on_coin_collected؟ ترسل العملة collected قبل أن تحذف نفسها مباشرةً. وتظل ضمن مجموعتها حتى نهاية الإطار، لذا سيشملها العدد.
لا يتغير المتغير إلا عندما تغيّره.
التحدي
متوسطاجعل Main يعدّ العملات المتبقية.
- في أعلى
main.gd، أضفvar coins_left = 0، وفي_ready()اجعل قيمته تساوي حجم المجموعةcoins. - في
_on_coin_collected()، أنقص واحدًا واطبعه بدلًا منGot a coin!:print("Coins left: ", coins_left).
اضغط «العب» وخذ عملة: ستعرض وحدة التحكم Coins left: 5. ثم اضغط «تحقق».
جرّب بنفسك
extends Node2D
func _ready():
for coin in get_tree().get_nodes_in_group("coins"):
coin.collected.connect(_on_coin_collected)
func _on_coin_collected():
print("Got a coin!")
جميع دروس الإشارات والتصادمات
6مشروع: جامع العملات
جامع العملات: المشيجامع العملات: العملاتتدرّب بنفسك: Playground لـ Godot