פלטפורמה נעה
חלק מהיחידה תכנות משחקים ב-Roblox במסלול ה-Lua של Coddy. שיעור 21 מתוך 24.
TweenInfo.new מקבלת יותר מאשר את הזמן. הערכים שלה, לפי הסדר:
- זמן בשניות
- סגנון הקלה, כגון
Enum.EasingStyle.Sine: האופן שבו המהירות משתנה לאורך הדרך - כיוון ההקלה:
In,OutאוInOut - מספר חזרות: כמה פעמים נוספות להפעיל,
-1לנצח - היפוך:
trueכדי להפעיל בכיוון ההפוך אחרי כל הרצה - השהיה: מספר השניות להמתין לפני שהיא מתחילה
local info = TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 2, false)הפעולה הזו מתנגנת 3 פעמים (פעם אחת, ועוד 2 חזרות), כל הרצה נמשכת שנייה אחת, וחוזרת להתחלה בין ההרצות.
Sine עם InOut מתחיל לאט, מאיץ באמצע ומאט בסוף — הדרך הטבעית שבה פלטפורמה נעה. Linear שומר על מהירות קבועה לאורך כל הדרך.
פלטפורמה שמונפשת באמצעות tween לא נושאת שחקנים לצדדים: הם צריכים ללכת יחד איתה.
אתגר
בינוניהפלטפורמה הכחולה אמורה לגלוש בין Z 10 ל־Z -10 ולהמשיך לנוע. הסקריפט מבצע לה Tween פעם אחת.
שנה רק את TweenInfo כך שהפלטפורמה:
- תנוע במשך 3 שניות לכל כיוון, עם easing מסוג
Sineו־InOut - תחזור לאחר שתגיע לקצה
- לעולם לא תעצור
לחץ על Play כדי לצפות בה, ואז על Check.
נסו בעצמכם
local TweenService = game:GetService("TweenService")
local platform = script.Parent
-- TweenInfo.new(time, style, direction, repeatCount, reverses)
local info = TweenInfo.new(3, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut)
local goal = { Position = Vector3.new(0, 10, -10) }
local tween = TweenService:Create(platform, info, goal)
tween:Play()
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה תכנות משחקים ב-Roblox
תרגלו בעצמכם: קומפיילר Lua אונליין