דלת עם כפתור
חלק מהיחידה תכנות משחקים ב-Roblox במסלול ה-Lua של Coddy. שיעור 20 מתוך 24.
לכפתור האדום יש ClickDetector כמו למנורה. הגדרת Position מזיזה חלק באופן מיידי. כדי לגרום לו להחליק, השתמשו ב-TweenService: מתארים לאן החלק אמור להגיע וכמה זמן נמשכת התנועה, ו-Roblox מנפיש אותה.
local TweenService = game:GetService("TweenService")
local info = TweenInfo.new(2)
local goal = { Transparency = 1 }
local fade = TweenService:Create(workspace.Ghost, info, goal)
fade:Play()TweenInfo.new(2) פירושו 2 שניות. היעד הוא טבלה של שמות מאפיינים והערכים שהם אמורים לקבל בסוף. Create יוצר את ההנפשה, ושום דבר לא זז עד שקוראים ל-Play. הנפשה יכולה לשנות מספרים, ערכי Vector3 כמו Position ו-Size, וצבעי Color3.
אתגר
בינונידלת עץ חוסמת את הפתח בקיר, והבלוק האדום הוא כפתור עם ClickDetector. הסקריפט הזה נמצא בתוך הדלת.
כשלוחצים על הכפתור, החליקו את הדלת 10 studs למעלה במשך שנייה אחת. info ו־goal מוכנים: צרו את ה־tween והפעילו אותו ב־MouseClick. אסור לדלת לזוז לפני הלחיצה.
לחצו על Play, גשו אל הכפתור, לחצו עליו ועברו דרך הפתח. לאחר מכן לחצו על Check.
נסו בעצמכם
local TweenService = game:GetService("TweenService")
local door = script.Parent
local button = workspace.Button
local info = TweenInfo.new(1)
local goal = { Position = door.Position + Vector3.new(0, 10, 0) }
-- צרו אנימציית מעבר לדלת באמצעות info ו-goal
-- הפעילו אותה כשלוחצים על ה-ClickDetector של הכפתור
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה תכנות משחקים ב-Roblox
תרגלו בעצמכם: קומפיילר Lua אונליין