Baseplate の範囲へ、上空からパーツをランダムに落下させるプログラムです。
テンプレートは、BaseplateもしくはClassic Baseplate を使ってください。

local baseplate = game.Workspace.Baseplate

local spawnHeight1 = 100    -- パーツを落とす高さの上限
local spawnHeight2 = 70    -- パーツを落とす高さの下限

local function makePart()
    local part = Instance.new("Part")    -- 新しいPartを作成

    part.Anchored = false                -- AnchoreをOFF
    part.Shape = Enum.PartType.Ball      -- 形状を設定
    part.Color = Color3.new(1, 1, 1)     -- 色を設定
    part.Size = Vector3.new(3,3,3)       -- 大きさを指定

    return part
end

local function DropParts(partCount)
    for i = 1, partCount do
        local randomX = math.random(-baseplate.Size.X / 2, baseplate.Size.X / 2)
        local randomZ = math.random(-baseplate.Size.Z / 2, baseplate.Size.Z / 2)
        local randomY = math.random(spawnHeight2,spawnHeight1)
        local spawnPosition = Vector3.new(randomX, randomY, randomZ)

        local newPart = makePart()
        newPart.CFrame = CFrame.new(spawnPosition)
        newPart.Parent = game.Workspace

        wait(0.1) -- パーツが同時に落ちすぎないように適切な値を設定
    end
end

DropParts(30)	-- 落とすパーツの数を指定

「for i = 1, partCount do」の部分を「while true do」にすると、無限にパーツが落下します。ただし、パーツが増えすぎると動作が重くなるので、その場合は一定時間たったらパーツを消すようにします。その場合は、wait の前で「game:GetService(“Debris”):AddItem(newPart,10)」とすると出現10秒後にパーツが消えますので、パーツの数を制限することができます。

By schilverberch

ROBLOXでゲームを作ろう! 一緒にプログラミングを学びましょう。

コメントを残す