רעידות מסך
חלק מהיחידה התחושה של המשחק במסלול ה-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עם ערכי x ו-y אקראיים בין-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 אונליין