ジャンプした後に空中でもう一度ジャンプができるダブルジャンプが可能になる。


このスクリプトをStarterPlayerの中のStarterCharacterScriptsに入れる。
Scriptではなく、LocalScriptである点に注意。

LocalScript

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

local MAX_JUMPS = 2
local TIME_BETWEEN_JUMPS = 0.1
local numJumps = 0
local canJumpAgain = false

local function onStateChanged(oldState, newState)
	if Enum.HumanoidStateType.Landed == newState then
		numJumps = 0
		canJumpAgain = false
	elseif Enum.HumanoidStateType.Freefall == newState then
		wait(TIME_BETWEEN_JUMPS)
		canJumpAgain = true
	elseif Enum.HumanoidStateType.Jumping == newState then
		canJumpAgain = false
		numJumps += 1
	end

end

local function onJumpRequest()
	if canJumpAgain and numJumps < MAX_JUMPS then
		humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
	end
end

humanoid.StateChanged:Connect(onStateChanged)
UserInputService.JumpRequest:Connect(onJumpRequest)

その他のおすすめのダブルジャンプのデザインはコチラ


あわせて読みたい

はじめての方に

はじめてのロブロックススタジオ

覚えておきたい用語/ロブロックススタジオを始めるにあたり

画面表示/GUIとは!?

ジャンル別で見てみる

アイテムオブジェクトを見る

スクリプトオブジェクトなどシステム類を見る

おすすめのプラグインを見る

おすすめのGUI(画面表示)を見る

基本設定や操作の項目を見る

ジャンルを垣根を越えた人気のオブジェクトを見る