通常、関数は自分の内部にコードされた情報だけを使用できます。ただし、時々、その情報がどのようになるかは事前に知ることができないか、あるいは同じ情報を複数の部品で再使用できるようにしたい場合があります。たとえば、巨大な文字で全員にオビーコースの名前を表示すること パラメーター は、後で機能に与えたい情報の保留済みです。彼らは、機能に情報を パス するウィンドウのようです。
パラメーターとイベントを使用してトラップを設定する
このスクリプトは、部品にタッチするものを破壊するトラップ部分を作成します。他の部品も含まれます。あなたはパラメータを使用して設定する必要があります。注意して、トラップを落として、不意に物を破壊しないでください。
新しいパーツを作成
部品がタッチすると破壊するパーツを設定する必要があります。
- 何も触らない新しいパーツを作成します。如果何かに触れている場合は、それはすぐにオフになる可能性があります。
- In the Explorer, パーツの名前を変更:TrapPart.
- アンカーする パーツ。
スクリプトのセットアップ
変数とエクスペリエンス階層について知っていることを使用して、トラップ部分に参照します。
新しいスクリプトをトラップ部分に追加します。スクリプトを TrapScript と名前変更します。
Hello World を削除し、説明的なコメントを追加します。
コメントの下に、スクリプトの親を見つける新しい変数を作成します。
-- 親に触れるものをすべて破壊するlocal trap = script.Parent
パラメーターで機能を作成
トラップはパーツに触れたものを破壊する関数を使用します。機能には、パーツに触れたものを知る必要があります。そしてそれはパラメーターを使用することを意味します。パラメーターは () の名前の後にある型で表示されます。それは以下のように見えます:
local function functionName(parameterName)
end
パラメーターを通過する実際の情報は、引数と呼ばれます。あなたは、onTouch() という名前の新しい関数を作成し、objectTouched という名前のパラメーターを持つ関数を作成します。その後、触れた部分を追跡し、2> 破壊2>することでパラメーターを破壊します。
ローカル関数を作成します。名前は任意ですが、このレッスンでは onTouch
local trap = script.Parentlocal function onTouch()end() の中に、パラメーターの名前を入力します。このレッスンでは、objectTouched を使用します。
local trap = script.Parentlocal function onTouch(objectTouched)endlocal function onTouch() と end の間で、プリントステートメントを作成します。これは、次のセクションでパーツに触れているかどうかをチェックするために使用します。
local trap = script.Parentlocal function onTouch(objectTouched)print("Something touched the trap")end
機能を呼び出すイベントを使用
私たちは、部品に何かが触れるときに機能が実行されることを望みます。そのために、機能を Touched イベントに接続します。 イベント は、エクスペリエンスで起こるものです。プレイヤーが部品に触れたり、体力を失ったりするようなことがあります。機能がイベントに接続されると、機能はイベント
イベント Touched は、あるパーツが別のパーツに触れるときに発動し、プレイヤーがインタラクトするボタン、トラップ、その他のオブジェクトを作成するために使用できます。
機能の end の下で、 trap.Touched:Connect(onTouch) をタイプしてください
local trap = script.Parentlocal function onTouch(objectTouched)print("Something touched the trap")end-- 機能をタッチイベントに接続するtrap.Touched:Connect(onTouch)テストをクリックし、部品をタッチします。テストプリントステートメントを確認します: Something touched the trap。如果オプションウィンドウにストリングが表示されない場合は、フォロー中の項目を確認してください:
- 「何かが部品に触れた!」の文字列が、「Something touched the part!」のローカル関数 onTouch() の終了わりにあることを確認してください。
- Touched が大文字になっているかどうかをチェックします。
機能が正しく設定されたことにより、そのパーツに触れるものを破壊するために使用してください。機能内で、ストリン文字列の後に、 objectTouched:Destroy() を入力します。完了したコードは次のとおりです:
local trap = script.Parentlocal function onTouch(objectTouched)print("Something touched the trap")-- 触れるオブジェクトを破壊するobjectTouched:Destroy()endtrap.Touched:Connect(onTouch)もう一度テストして、部品がタッチされると何が起こるかを見てください。アバターは足または腕を失うことになるでしょう。部品がアバターの頭または頸に触れると、完全に破壊される可能性があります。
概要
パラメーターは、通常は範囲外にある情報 (機能が見えない場合) をパラメーターに渡します。一方、イベントはトリガーの内部で発生する特別な信号です。異なるオブジェクトには異なるイベントがあります。機能は、イベントが発生