Menu
CoddyTech

סלעים נסחפים

חלק מהיחידה פרויקטים במסלול ה-Godot של Coddy. שיעור 16 מתוך 36.

הסלעים צריכים לנוע. rock.gd נסחף עם כל סלע במהירות שלו velocity, מסובב אותו לאט ומעביר אותו לצד השני, כמו את החללית.

סלע גדול, ולכן הוא עובר לצד השני ב־-30 וב־670 במקום ב־0 וב־640. כך הוא יוצא לגמרי מהמסך לפני שהוא חוזר. הקפיצה היא 700, רוחב הרצועה הרחבה יותר:

if position.x > 670:
	position.x -= 700

הקצה השמאלי והחלק העליון והתחתון פועלים באותו אופן, עם -30, 390 וקפיצה של 420.

challenge icon

אתגר

קשה

גרמו לסלעים להיסחף, להסתובב ולחצות את המסך מצד לצד.

  1. ב־rock.gd, הוסיפו את _physics_process: הזיזו לפי velocity * delta והוסיפו 0.5 * delta ל־rotation.
  2. כשעוברים את -30 או את 670 בציר x, הזיזו אותו 700 בכיוון ההפוך.
  3. כשעוברים את -30 או את 390 בציר y, הזיזו אותו 420 בכיוון ההפוך.

לחצו על "שחק": הסלעים מתגלגלים על פני המסך וחוזרים. לאחר מכן לחצו על "בדיקה".

נסו בעצמכם

extends Area2D

var velocity = Vector2.ZERO

# Bursts into dust where the rock is. Call it when the rock breaks.
func burst():
	var dust = CPUParticles2D.new()
	dust.position = position
	dust.one_shot = true
	dust.explosiveness = 1.0
	dust.amount = 20
	dust.lifetime = 0.7
	dust.spread = 180.0
	dust.gravity = Vector2.ZERO
	dust.initial_velocity_min = 30.0
	dust.initial_velocity_max = 120.0 * scale.x
	dust.scale_amount_min = 2.0
	dust.scale_amount_max = 5.0
	dust.color = Color(0.75, 0.82, 0.95)
	dust.finished.connect(dust.queue_free)
	get_parent().add_child(dust)
	dust.emitting = true

כל השיעורים ביחידה פרויקטים

תרגלו בעצמכם: Godot אונליין