שכבות ומסכות
חלק מהיחידה אותות והתנגשויות במסלול ה-Godot של Coddy. שיעור 22 מתוך 27.
גופים ואזורים נמצאים בשכבות התנגשות ממוספרות. לכל אחד מהם יש שתי הגדרות:
collision_layer: השכבות שבהן הוא נמצא.collision_mask: השכבות שעליהן הוא מסתכל. אזור מזהה רק גופים שנמצאים בשכבה שבמסכה שלו.
שניהם מספרים. שכבה 1 היא 1, שכבה 2 היא 2, שכבה 3 היא 4, שכבה 4 היא 8. הכול מתחיל בשכבה 1 עם מסכה 1, ולכן הכול מזהה הכול.
כאן השחקן נמצא בשכבה 2 וכדור האלמוג נמצא בשכבה 1. כדי שרק השחקן יוכל לאסוף את המטבע, המטבע מסתכל רק על שכבה 2:
func _ready():
collision_mask = 2אתגר
בינוניהכדור המתגלגל לוקח את המטבע לפני שתוכל לעשות זאת. בתוך _ready(), הגדר את collision_mask של המטבע כך שיזהה רק את שכבה 2, השכבה של השחקן. הכדור אמור להתגלגל דרך המטבע. לאחר מכן תיגש אליו ותיקח אותו.
נסו בעצמכם
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
queue_free()
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה אותות והתנגשויות
תרגלו בעצמכם: Godot אונליין