In Introduction to Roblox Studio, you learned how to create and manipulate parts in Roblox Studio. このチュートリアルでは、プラットフォームを表示および非表示にするために、スクリプトを部品に適用する方法を学習します。これをプラットフォーミングエクスペリエンスで使用して、ギャップを跨ぎ、ユーザーが別の側に到達するためにジャンプのタイミングを慎重に計るように挑戦できます。
シーンの設定
まず、パートとして機能するものが必要です。作成および移動するパーツは、Introduction to Roblox Studioからおなじみのはずです。プラットフォーム以外に複雑な世界は必要ありません。ユーザーが簡単に跨げないギャップが必要です。
パートを挿入し、その名前をDisappearingPlatformに変更します。
ユーザーがジャンプできる大きさにサイズを変更します。
テスト時にその上にジャンプできるように適切な場所に移動します。

プロパティウィンドウでAnchoredプロパティをtrueに設定します。

スクリプトの挿入
Robloxのコードは、エクスプローラーのさまざまなコンテナ内に配置できるLuauという言語で書かれています。パートの下にスクリプトを置くと、パートがエクスペリエンスにロードされるときに、そのスクリプトのコードが実行されます。
エクスプローラーウィンドウでDisappearingPlatformパートの上にカーソルを移動し、プラットフォームに新しいスクリプトを挿入するために**+ボタンをクリックします。新しいスクリプトの名前をDisappear**に変更します。

デフォルトのコードを削除します。
最初の変数
スクリプトの最初に、プラットフォーム用の変数を作成するのは良いアイデアです。変数は値に関連付けられた名前です。一度変数が作成されると、何度でも使用できます。必要に応じてその値を変更できます。
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プロパティは、他のパーツ(およびユーザー)がそのパートを通過できるかどうかを決定します。これをfalseに設定すると、ユーザーはプラットフォームを通過します。
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ループの中で、括弧内に3を指定してtask.wait()関数を呼び出します。
- disappear関数を呼び出します。
- 再度、括弧に3を指定してtask.wait()関数を呼び出します。
- 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