In Roblox Studio への紹介 では、Roblox Studio でパーツを作成し、操作する方法を学びました。このチュートリアルでは、 スクリプト をパーツに適用する方法を学び、プラットフォームが現れたり消えたりするようにします。プラットフォーミングエクスペリエンスでこれを使用して、ギャップを埋め、ユーザーにジャンプを注意深くタイミングさせて、反対側に到達することができます。
シーンを設定
まオフ、プラットフォームとして機能する パーツ が必要です。パーツの作成と移動は、Roblox Studio の紹介 からあなたに熟慮しているはずです。プラットフォーム以外に複雑な世界は必要ありません—ユーザーが簡単に飛び越えることができないギャップが必要です。
挿入する パーツ を挿入し、名前を DisappearingPlatform に変更します。
ユーザーが飛び乗れるほど大きく再設定します。
適切な場所に移動して、エクスペリエンスをテストするときに到達してジャンプできるようにします。
固定 プロパティを true に プロパティ ウィンドウで設定します。
スクリプトを挿入
Roblox のコードは、Luau という言語で書かれており、 エクスプローラー 内のさまざまなコンテナにスクリプトを置くことができます。 パーツ の下にスクリプトを置くと、Roblox はパーツがゲームにロードされたときにスクリプトのコードを実行します。
エクスプローラー ウィンドウの 部分にマウスポインタを置き、 + ボタンをクリックして、プラットフォームに新しいスクリプトを挿入します。新しいスクリプトを 消える という名前に変更します。
内部のデフォルトコードを削除する。
最初の変数
スクリプトを開始するには、プラットフォーム用の 変数 を作成するのが良いアイデアです。変数は、 名 と 値 に関連する変数です。変数が作成されると、再び再び使用できます。必要に応じて値を変更できます。
Luau では、変数は次のように作成されます: local variableName = variableValue .
用語 local は、変数が宣言されたスクリプトのブロックでのみ使用されることを意味します。= 符号は、変数の値を設定するために使用されます。変数の名前は通常 カメルケース で書かれます。これは、最初の単語に大文字が付いた後、すべての単語が小文字になる、justLikeThisです。
次のコードをコピーして、プラットフォームの名前 **** で platform 変数を作成し、値は script.Parentです。
local platform = script.Parent
消滅機能
プラットフォームを消す時間です。特定のアクションを達成するためにコードをグループ化するのに最適なのは、 機能 になります。機能は、コードを整理し、再度書き込まずに複数の場所で使用するのを助ける名前付きブロックのコードです。スクリプトに 機能 を作成し、disappear を呼び出します。
local platform = script.Parent
local function disappear()
end
最初の新行 は機能を宣言します — 機能の開始を示し、名前を disappear として指定します。機能のコードは最初の行と end の間にあります。
括弧は、必要に応じて追加情報を含めるためのものです。後で機能に情報を渡す方法について詳しく学びます。
パーツプロパティ
プラットフォームが消えると、透明である必要があり、ユーザーがそれを通り抜ける必要がありますが、後で再出現する必要があるため、プラットフォームを破壊することはできません。
パーツには、ここで使用できるさまざまな プロパティ があります。パーツを選択して プロパティ ウィンドウを表示すると、パーツのプロパティを見ることができることを覚えておいてください。
パーツは Transparency プロパティを変更することで非表示にできます。透明度は 0 から 1 の間の値で、1 は完全に透明であり、それゆえ見えない可能性があります。
CanCollide プロパティは、他のパーツ (およびユーザー) がパーツを通り抜けることができるかどうかを決定します。それを 偽 に設定すると、ユーザーがプラットフォームを通過しなくなります。
たとえば、script.Parent と同様に、プロパティは ドット を使用してアクセスされます。値は等号記号を使用して割り当てられます。
disappear 関数で、プラットフォームの CanCollide プロパティを false に設定します。
フォロー中の行で、Transparency プロパティを 1 に設定します。
local platform = script.Parentlocal function disappear()platform.CanCollide = falseplatform.Transparency = 1end
関数を呼び出す
機能を宣言したら、その名前を括弧で次に書いて実行できます。たとえば、 disappear() は disappear 機能を実行します。これは 呼び出し 機能と呼ばれます。
スクリプトの最後に スクリプトの disappear 機能を呼び出す。
local platform = script.Parentlocal function disappear()platform.CanCollide = falseplatform.Transparency = 1enddisappear()プレイ ボタンを押してコードをテストします。コードが機能すると、プラットフォームは、ユーザーがゲームにスポーンする時までに消えているはずです。
出現機能
disappear 機能の反対を行う機能を書いて、プラットフォームを簡単に再表示できます。
スクリプトから disappear() 行を削除します。
新しい関数 appear を宣言します。
機能ボディ内で、CanCollide プロパティを true と Transparency プロパティを 0 に設定します。
local platform = script.Parentlocal function disappear()platform.CanCollide = falseplatform.Transparency = 1endlocal function appear()platform.CanCollide = trueplatform.Transparency = 0end
ループコード
プラットフォームは、各変更の間に数秒間消えて再出現する必要があります。無限の数の関数呼び出しを書くことは不可能です - 幸いなことに、 while ループ で、そうする必要はありません。
while ループは、 文章 が残っている限り、内部のコードを実行し続けます。長さは、while が残っている期間です。この特定のループは永遠に実行する必要があるので、文は true だけで十分です。スクリプトの最後に while true ループを作成します。
local platform = script.Parent
local function disappear()
platform.CanCollide = false
platform.Transparency = 1
end
local function appear()
platform.CanCollide = true
platform.Transparency = 0
end
while true do
end
プラットフォームを切り替え
while ループでは、プラットフォームが消えて再出現するのに数秒待つコードを書く必要があります。
内蔵機能 task.wait() は、これに使用できます。括弧内で待つ秒数が必要です:例えば task.wait(3) 。
3秒は、各プラットフォーム状態の間の時間の長さの合理的なスタート地点です。
- while ループでは、パレット内の task.wait() 機能を 3 で呼び出します。
- disappear 関数を呼び出します。
- パランティスに task.wait() 機能を再び呼び出し、 3 を使用します。
- appear 関数を呼び出します。
while true dotask.wait(3)disappear()task.wait(3)appear()end
プラットフォームのコードが完了しました!コードをテストして、プラットフォームが 3 秒後に消えて 3 秒後にループで再出現することがわかるはずです。
このプラットフォームを複製してより広いギャップをカバーできますが、各スクリプトの待機時間を変更する必要があります。そうでなければ、プラットフォームはすべて同時に消滅し、ユーザーは決して交差できません。
最終コード
local platform = script.Parent
local function disappear()
platform.CanCollide = false
platform.Transparency = 1
end
local function appear()
platform.CanCollide = true
platform.Transparency = 0
end
while true do
task.wait(3)
disappear()
task.wait(3)
appear()
end