רעידות מסך
חלק מהיחידה התחושה של המשחק במסלול ה-Godot של Coddy. שיעור 11 מתוך 23.
רעידת מסך מסמנת רגע גדול, כמו דריכה או פיצוץ. בשלב הזה, E קורא ל־start_shake() של המצלמה, שמגדירה את shake ל־12. עדיין שום דבר לא זז.
ל־Camera2D יש offset, שהוא Vector2 שמזיז את התצוגה בלי להזיז את צומת המצלמה. היסט אקראי חדש בכל פריים גורם לתצוגה לרעוד.
offset = Vector2(randf_range(-shake, shake), randf_range(-shake, shake))הרעידה חייבת להיפסק. בכל פריים, מקטינים את shake לכיוון 0 באמצעות move_toward, כך שהקפיצות נעשות קטנות יותר.
shake = move_toward(shake, 0.0, 30.0 * delta)כש־shake מגיע ל־0, שני המספרים האקראיים הם 0, ו־offset חוזר להיות Vector2(0, 0).
אתגר
בינוניבתוך _process:
- קרבו את
shakeאל 0 באמצעות30.0 * deltaועםmove_toward, - הגדירו את
offsetל-Vector2אקראי בין-shakeל-shakeבכל ציר.
לאחר מכן לחצו על E כדי לרקוע.
נסו בעצמכם
extends Camera2D
var shake = 0.0
func _ready():
limit_left = 0
limit_top = 0
limit_right = 1600
limit_bottom = 360
func start_shake():
shake = 12.0
func _process(delta):
pass
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה התחושה של המשחק
תרגלו בעצמכם: Godot אונליין