ジャンプパッド
CoddyのLuaジャーニー「Robloxゲームのスクリプティング」セクションの一部。レッスン 18/24。
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スタッドで、通常のジャンプの約2倍です。その手前にある青いパッドがジャンプパッドで、このスクリプトはその中にあります。
キャラクターがパッドに触れたとき:
JumpHeightを20に設定する- 5秒後に
7.2に戻す
Playを押し、パッドに乗ってから足場に向かって走り、ジャンプします。その後、Checkを押します。
自分で試してみよう
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オンラインコンパイラ