プレイヤーが泳いでいるかどうかを判定する方法です。Humanoid には StateChanged というイベントがありますのでそれを利用します。

StarterPlayer の StarterPlayerScripts に LocalScript を追加して、以下のプログラムを入れます。

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")

-- 状態が変わるたびに呼び出される関数
local function onStateChanged(oldState, newState)
    if newState == Enum.HumanoidStateType.Swimming then
        print("プレイヤーは泳いでいます")
    elseif oldState == Enum.HumanoidStateType.Swimming and newState ~= Enum.HumanoidStateType.Swimming then
        print("プレイヤーはもう泳いでいません")
    end
end

-- Humanoidの状態変更イベントに関数を接続
humanoid.StateChanged:Connect(onStateChanged)

By schilverberch

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

コメントを残す