Menu
CoddyTech

ジャンプパッド

CoddyのLuaジャーニー「Robloxゲームのスクリプティング」セクションの一部。レッスン 19/25。

JumpHeightは、キャラクターがジャンプする高さをスタッド単位で表します。既定値は7.2で、キャラクターの身長ほどです。

古いゲームでは、代わりにJumpPowerを使います。これはキャラクターが地面を離れるときの速度です。新しいRobloxのプレースでは、UseJumpPowerを有効にしない限りJumpPowerは無視されます(StudioではStarterPlayerのCharacterUseJumpPower)。そのため、チュートリアルのJumpPowerスクリプトが何もしない場合は、これが原因です。JumpHeightのほうがシンプルで、数値がそのまま高さを表します。

しばらく続くパワーアップは、後で元に戻す必要があります。task.delay(seconds, function)は、コードの残りを一時停止せずに、指定した秒数後に関数を実行します。

humanoid.WalkSpeed = 30
task.delay(10, function()
	humanoid.WalkSpeed = 16
end)
print("Boost on")

Boost onはすぐに出力され、10秒後に速度が16に戻ります。

パッドが変更するのはプロパティだけです。ジャンプするには、プレイヤーが引き続きSpaceを押します。

challenge icon

チャレンジ

中級

青いパッドをジャンプパッドにして、プレイヤーが14スタッドの段差に届くようにしましょう。

  1. ifの中で、humanoid.JumpHeightを20に設定します。
  2. 5秒後、task.delayを使って値を7.2に戻します。

「プレイ」を押し、パッドに乗って段差に向かって走り、ジャンプします。上に着地できます。その後、「確認」を押します。

自分で試してみよう

local pad = script.Parent

pad.Touched:Connect(function(hit)
	local humanoid = hit.Parent:FindFirstChild("Humanoid")
	if humanoid then
		-- 1. このプレイヤーが20スタッドの高さまでジャンプできるようにする
		-- 2. 5秒後、通常の7.2に戻す
	end
end)

Robloxゲームのスクリプティングのすべてのレッスン

自分で練習してみよう: Luaオンラインコンパイラ