Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- นำเข้า TweenService เพื่อใช้สำหรับสร้างการเคลื่อนไหว
- local ts = game:GetService("TweenService")
- -- กำหนด drawer (ลิ้นชัก) และ target (ตำแหน่งเป้าหมายของลิ้นชักเมื่อเปิด)
- local drawer = script.Parent.Parent.Drawer
- local target = script.Parent.Parent.Target
- local clickdrawer = drawer.ClickDetector -- ตัวตรวจจับการคลิก
- -- เสียงของการเปิดและปิดลิ้นชัก
- local drawersound = drawer.DrawerOpeningClosing
- -- กำหนดข้อมูลการเคลื่อนไหว (tween) โดยกำหนดเวลา 0.5 วินาที
- -- ใช้ Exponential easing style และ EasingDirection.Out
- local tweenInfo = TweenInfo.new(
- 0.5, -- ระยะเวลาในการ tween
- Enum.EasingStyle.Exponential, -- สไตล์การเคลื่อนไหว
- Enum.EasingDirection.Out, -- ทิศทางของการเคลื่อนไหว (เริ่มเร็วแล้วช้าลง)
- 0, -- จำนวนครั้งที่ทำซ้ำ (0 คือไม่ซ้ำ)
- false, -- ไม่กลับทิศทางหลังจากเสร็จสิ้น
- 0 -- เวลาหน่วงเริ่มต้นเป็น 0
- )
- -- สร้าง tween สำหรับการเปิดลิ้นชัก (เปลี่ยนตำแหน่งของ drawer ไปที่ target)
- local open = ts:Create(drawer,tweenInfo,{Position = target.Position})
- -- สร้าง tween สำหรับการปิดลิ้นชัก (เปลี่ยนตำแหน่งกลับไปที่ตำแหน่งเดิม)
- local close = ts:Create(drawer,tweenInfo,{Position = drawer.Position})
- -- กำหนดตัวแปรเพื่อเก็บสถานะของลิ้นชัก (เปิดหรือปิด)
- local check = false
- -- ฟังก์ชันเมื่อผู้เล่นคลิกที่ ClickDetector ของลิ้นชัก
- clickdrawer.MouseClick:Connect(function()
- if check == false then -- ถ้าลิ้นชักปิดอยู่
- open:Play() -- เล่น tween เปิดลิ้นชัก
- drawersound:Play() -- เล่นเสียงเปิด/ปิดลิ้นชัก
- task.wait() -- รอการทำงานเล็กน้อย
- check = true -- ตั้งสถานะว่าลิ้นชักเปิดแล้ว
- elseif check == true then -- ถ้าลิ้นชักเปิดอยู่
- close:Play() -- เล่น tween ปิดลิ้นชัก
- drawersound:Play() -- เล่นเสียงเปิด/ปิดลิ้นชัก
- task.wait() -- รอการทำงานเล็กน้อย
- check = false -- ตั้งสถานะว่าลิ้นชักปิดแล้ว
- end
- end)
- -- เพิ่ม Highlight ให้กับลิ้นชัก
- local highlight = Instance.new("Highlight")
- highlight.FillColor = Color3.fromRGB(255, 255, 255) -- กำหนดสีพื้นเป็นสีขาว
- highlight.OutlineColor = Color3.fromRGB(0, 0, 0) -- กำหนดสีขอบเป็นสีดำ
- highlight.Parent = drawer -- กำหนด parent ของ highlight ให้เป็น drawer
- highlight.Enabled = false -- เริ่มต้นปิด highlight
- -- เมื่อผู้เล่นนำเคอร์เซอร์ไปชี้ที่ลิ้นชัก
- clickdrawer.MouseHoverEnter:Connect(function()
- highlight.Enabled = true -- เปิด highlight เมื่อผู้เล่นชี้เมาส์ไปที่ลิ้นชัก
- end)
- -- เมื่อผู้เล่นนำเคอร์เซอร์ออกจากลิ้นชัก
- clickdrawer.MouseHoverLeave:Connect(function()
- highlight.Enabled = false -- ปิด highlight เมื่อผู้เล่นนำเมาส์ออกจากลิ้นชัก
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement