ジャンプパッド
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を押します。
チャレンジ
中級青いパッドをジャンプパッドにして、プレイヤーが14スタッドの段差に届くようにしましょう。
ifの中で、humanoid.JumpHeightを20に設定します。- 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オンラインコンパイラ