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