บทความ

กำลังแสดงโพสต์จาก พฤษภาคม, 2024

สร้างสะพานอัตโนมัติตามการก้าว

รูปภาพ
local ladder = script.Parent local TweenService = game:GetService("TweenService") ladder.Touched:Connect(function(otherPart: BasePart) if otherPart.Parent:FindFirstChild("Humanoid") then -- โคลนบันไดแล้วปรับตำแหน่งไปด้านหน้า 3 studs วางซ่อนไว้ข้างบน local nextLadder = ladder:Clone() nextLadder.CFrame *= CFrame.new(0, 50, -3) nextLadder.Parent = workspace -- ใช้ TweenService เพื่อเล่น Animation โดยให้มันวิ่งมาอยู่ข้างหน้า local goal = {} goal.CFrame = ladder.CFrame * CFrame.new(0, 0, -3) local tween = TweenService:Create(nextLadder, TweenInfo.new(0.5), goal) tween:Play() -- อย่าลืมลบ Script ทิ้งเพื่อมันจะไม่ทำซ้ำ เหยียบทีเดียวสร้างครั้งเดียว ladder.Script:Destroy() end end)

เขียน Script เพื่อสร้างบันได

รูปภาพ
  สร้าง Part กำหนดให้เป็นบันไดขั้นแรกแล้วที่ ServerScriptService ใส่โค้ดตามนี้ครับ local part = workspace.Part local folder = Instance.new("Folder") folder.Name = "Circles" folder.Parent = workspace local angle = 0 local radius = 30 local y = 3 while angle < 360 * 3 do -- ลูปลากมุมวงกลมสามวง local x = math.cos(math.rad(angle)) * radius -- x ตามสมการวงกลมครับอย่าลืมแปลงมุมเป็น Radian local z = math.sin(math.rad(angle)) * radius -- ใช้แกน z เพราะเราสร้างบันไดตามระนาบ xz -- adjust center offset ปรับ offset เทียบกับบันไดขั้นแรกครับเพราะอาจจะไม่ได้วางที่ xz 0,0 x += part.Position.X z += part.Position.Z print (x .. ", " .. z) local newPart = Instance.new("Part") --สร้าง Part ใหม่ newPart.Size = newPart.Size + Vector3.new(0, 0, 3) -- ปรับความหนา ลองเล่นดูครับ newPart.CFrame = newPart.CFrame * CFrame.new(x, y, z) -- ระบุตำแหน่งที่คำนวณได้ newPart.CFrame = newPart.CFrame * CFrame.Angles(0, math.rad(10), 0) -- บิดเล็กน้อยต...

ออกแบบ Map สนุกๆไว้เล่นเอง

รูปภาพ
 

ตะลุยดงซอมบี้

รูปภาพ
 

สร้างรถ 2 ล้อไว้ขับเองอย่างง่าย

รูปภาพ
  ทดลองขับได้ที่  https://create.roblox.com/store/asset/17730970493

สร้างหมวกกันน็อคใช้เป็น Tool ได้ด้วย

รูปภาพ
 

ออกแบบเสื้อไว้ใส่เอง

รูปภาพ
 

สร้าง procedural map แบบสุ่มอย่างง่าย

รูปภาพ
  local MapGeneratorPart = script.Parent -- Part ตั้งต้น MapGeneratorPart.Transparency = 1 -- ให้โปร่งใส local map = {} local mapSize = 20 local partSize = 5 -- Function ไว้สร้าง Part แบบสุ่มสี local function createPart(i, j) local newPart = Instance.new("Part") newPart.Size = Vector3.new(partSize, partSize, partSize) newPart.Position = Vector3.new(i * partSize, partSize, j * partSize) newPart.BrickColor = BrickColor.Random() return newPart end -- เอาไว้เขย่า Part ขึ้นลง ที่แกน Y local function shake(part) part.Position += Vector3.new(0, 5, 0) --wait(0.5) --part.Position -= Vector3.new(0, 5, 0) end -- วนลูป 2 มิติ ixj เพื่อสร้าง Part แล้วนำไปใส่ลง table ในรูปแบบ {{row1_part1, ..}, ...} for i=1, mapSize do local row = {} for j=1, mapSize do table.insert(row, createPart(i, j)) end table.insert(map, row) end -- หยิบ Part จาก table นำไปใส่ลง workspace for i, v in ipairs(map) do for j, part in ipairs(v) do part.Parent = workspace end end -- ทำการสุ่ม...