مواضع عشوائية
جزء من قسم قواعد اللعبة في رحلة Godot على Coddy. الدرس 20 من 29.
من السهل تفادي الكتل التي تسقط دائمًا في المكان نفسه. تجعل الأعداد العشوائية كل جولة مختلفة.
تعطي randf_range(a, b) عددًا عشوائيًا من a إلى b، مع أرقام عشرية. تعطي كل عملية استدعاء عددًا جديدًا:
spawn(randf_range(40, 600))عرض الكتلة 36 بكسل. لذلك يضمن النطاق من 40 إلى 600 بقاء كل كتلة بالكامل على الشاشة التي يبلغ عرضها 640 بكسل.
استدعِها داخل دالة المؤقت في كل مرة تظهر فيها كتلة. أما العدد الذي يُختار مرة واحدة ويُحفظ في متغير، فيبقى كما هو طوال اللعبة.
التحدي
سهلاجعل كل كتلة تسقط في مكان عشوائي.
- في
_on_spawn_timer_timeout()، استبدل320بـrandf_range(40, 600). - أبقِه داخل الدالة، لكي تحصل كل كتلة على قيمة x خاصة بها.
اضغط على «العب»: ستسقط الكتل في أنحاء الشاشة. ثم اضغط على «تحقق».
جرّب بنفسك
extends Node2D
var block_scene = preload("res://block.tscn")
func _ready():
$SpawnTimer.timeout.connect(_on_spawn_timer_timeout)
func _on_spawn_timer_timeout():
spawn(320)
func spawn(x):
var block = block_scene.instantiate()
block.position = Vector2(x, -30)
add_child(block)
جميع دروس قواعد اللعبة
تدرّب بنفسك: Playground لـ Godot