Menu
CoddyTech

הדלת הנעולה

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

דלת Door חוסמת את הדרך למדרגות. היא StaticBody2D, ולכן move_and_slide עוצר בה את הגיבור. לפניה נמצאת DoorZone, אזור Area2D שקצת רחב יותר מהדלת, כך שהגיבור מגיע אליו קודם.

כשהגיבור נכנס לאזור עם המפתח, הדלת נפתחת:

func _on_door_zone_body_entered(body):
	if has_key:
		$Door.queue_free()
		$DoorZone.queue_free()

הסר גם את האזור. אחרת הגיבור ייכנס אליו שוב, $Door כבר לא קיים, והמשחק ייעצר עם Node not found.

הסר את הדלת באמצעות queue_free(). hide() רק מפסיקה את הציור. צורת ההתנגשות שלה עדיין תחסום את הגיבור.

challenge icon

אתגר

בינוני

פתחו את הדלת בעזרת המפתח.

  1. ב־main.gd, חברו את $DoorZone.body_entered לפונקציה.
  2. כשגוף נכנס ו־has_key הוא true, הסירו את $Door ואת $DoorZone.

לחצו על "שחק", קחו את המפתח ולכו אל הדלת: היא נפתחת. לאחר מכן לחצו על "בדיקה".

נסו בעצמכם

extends Node2D

var has_key = false

func _ready():
	$Key.body_entered.connect(_on_key_body_entered)

func _on_key_body_entered(body):
	has_key = true
	$Key.queue_free()
	$HUD/KeyIcon.visible = true

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

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