مسارات عشوائية
جزء من قسم قواعد اللعبة في رحلة Godot على Coddy. الدرس 21 من 29.
تحتاج بعض الاختيارات العشوائية إلى عدد صحيح، مثل اختيار أحد خمسة مسارات أو نتيجة رمية نرد.
تعطي randi_range(a, b) عددًا صحيحًا عشوائيًا من a إلى b، شاملًا كليهما:
var roll = randi_range(1, 6) # 1، 2، 3، 4، 5 أو 6عرض الشاشة 640 بكسل، لذا يبلغ عرض كل واحد من المسارات الخمسة 128 بكسل. اضرب رقم المسار في 128، ثم أضف 64 للوصول إلى منتصف المسار:
var lane = randi_range(0, 4)
spawn(lane * 128 + 64)يعطي ذلك x = 64 أو 192 أو 320 أو 448 أو 576، ولا شيء بين هذه القيم.
التحدي
سهلاجعل الكتل تسقط في خمسة مسارات. اختر مسارًا باستخدام randi_range(0, 4) وأنشئ الكتلة عند lane * 128 + 64.
جرّب بنفسك
extends Node2D
var block_scene = preload("res://block.tscn")
func _ready():
$SpawnTimer.timeout.connect(_on_spawn_timer_timeout)
func _on_spawn_timer_timeout():
spawn(randf_range(40, 600))
func spawn(x):
var block = block_scene.instantiate()
block.position = Vector2(x, -30)
add_child(block)
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس قواعد اللعبة
تدرّب بنفسك: Playground لـ Godot