Part を球体にすれば、サッカーボールとして使えないこともありませんが、もう少しボールに勢いを付けたい、ある程度ボールが転がったあとに止めたい等とコントロールしたい場合があります。そんな時は以下のようなプログラムを追加することでボールがコントロールできるようになります。

  1. Part を追加し、Shape を Ball にします。
  2. Part に Script を追加し、以下のプログラムを入力します。
local ball = script.Parent

local kickForce = 50  -- 反動の強さを指定

local hasKicked = false

ball.Touched:Connect(function(hit)
    local character = hit.Parent
    local humanoid = character:FindFirstChild("Humanoid")

    if humanoid and not hasKicked then
        hasKicked = true

        local kickDirection = (ball.Position - character.PrimaryPart.Position).unit
        ball.Velocity = kickDirection * kickForce	-- ボールを反動方向に移動させる

        wait(1)  -- 1秒後に反動を無効にする
        ball.Velocity = Vector3.new(0, 0, 0)
        hasKicked = false
    end
end)

By schilverberch

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

コメントを残す