Menu
CoddyTech
flag He iconעבריתdown icon

CharacterBody2D

חלק מהיחידה קלט ותנועה במסלול ה-Godot של Coddy. שיעור 7 מתוך 28.

‏Node2D עובר דרך קירות. ‏CharacterBody2D נתקל בדברים. בלשונית Scene, ‏Hero הוא כעת CharacterBody2D. צאצא ה־CollisionShape2D שלו הוא עיגול, הגודל המוצק של הגיבור. גם לקירות ולעמוד יש צורות התנגשות.

לגוף יש velocity, ‏Vector2 בפיקסלים לשנייה. הגדרת הערך שלו לא מזיזה דבר. ‏move_and_slide() מזיזה את הגוף לפי המהירות שלו למשך פריים אחד ועוצרת אותו כשהוא נתקל במשהו מוצק:

func _physics_process(delta):
	velocity = Vector2(150, 0)
	move_and_slide()

הזיזו גופים בתוך _physics_process, שפועלת בסנכרון עם הפיזיקה. ‏move_and_slide() מחילה את משך הזמן של הפריים, לכן לעולם אל תכפילו את velocity ב־delta.

challenge icon

אתגר

קל

המהירות של הגיבור מוגדרת ל-150 פיקסלים לשנייה ימינה. קרא ל-move_and_slide() כדי שהוא יזוז ויעצור בעמוד.

נסו בעצמכם

extends CharacterBody2D

func _physics_process(delta):
	velocity = Vector2(150, 0)
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

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

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