דלת עם כפתור
חלק מהיחידה תכנות משחקים ב-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) }
-- צור אנימציית tween לדלת באמצעות info ו-goal
-- הפעל אותה כשלוחצים על ה-ClickDetector של הכפתור
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה תכנות משחקים ב-Roblox
תרגלו בעצמכם: קומפיילר Lua אונליין