Menu
CoddyTech

جامع العملات: العملات المتبقية

جزء من قسم الإشارات والتصادمات في رحلة 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 قبل أن تحذف نفسها مباشرةً. وتظل ضمن مجموعتها حتى نهاية الإطار، لذا سيشملها العدد.

لا يتغير المتغير إلا عندما تغيّره.

challenge icon

التحدي

متوسط

اجعل Main يعدّ العملات المتبقية.

  1. في أعلى main.gd، أضف var coins_left = 0، وفي _ready() اجعل قيمته تساوي حجم المجموعة coins.
  2. في _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!")

جميع دروس الإشارات والتصادمات

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