הקפאה בפגיעה
חלק מהיחידה התחושה של המשחק במסלול ה-Godot של Coddy. שיעור 17 מתוך 23.
הקפאת פגיעה עוצרת את המשחק לשבריר שנייה כשפגיעה מתרחשת. כך הפגיעה מרגישה חזקה.
Engine.time_scale הוא הקצב של שעון המשחק. בערך 1 המשחק פועל כרגיל. בערך 0.05, התנועה, האנימציות והטיימרים פועלים לאט פי עשרים.
Engine.time_scale = 0.05
await get_tree().create_timer(0.1, true, false, true).timeout
Engine.time_scale = 1.0טיימר רגיל פועל לפי השעון המואט, ולכן 0.1 שניות יימשכו שתי שניות בזמן אמת. הערך האחרון true ב-create_timer גורם לטיימר להתעלם מ-time_scale ולספור שניות בזמן אמת. שני הערכים שלפניו הם ברירות המחדל הרגילות.
תמיד יש להחזיר את time_scale ל-1. הוא משפיע על כל המשחק ונשאר כך עד שהקוד שלך משנה אותו.
אתגר
בינוניהקפא את המשחק לרגע בעת פגיעה.
- אחרי ההבזק בתוך
hit(), הגדר אתEngine.time_scaleל־0.05. - המתן 0.1 שניות בזמן אמת באמצעות טיימר שמתעלם מסולם הזמן, כפי שמוצג למעלה.
- החזר את
Engine.time_scaleל־1.0.
לחץ על "שחק" ולחץ על E: הרחפן עוצר לרגע. ואז לחץ על "בדיקה".
נסו בעצמכם
extends Node2D
func hit():
modulate = Color(4, 4, 4)
var tween = create_tween()
tween.tween_property(self, "modulate", Color(1, 1, 1), 0.3)
כל השיעורים ביחידה התחושה של המשחק
תרגלו בעצמכם: Godot אונליין