1. オブジェクト.Touched:Connect()と引数について
Roblox Studioでは、「オブジェクト.Touched:Connect(関数)」というコードをよく使用します。このコードは、指定のオブジェクトに触れた場合、指定の関数を実行します。しかし、実行する関数の引数の記述箇所がないため、引数になにが代入されているか分かりません。
以下では、「オブジェクト.Touched:Connect(関数)」を使用して、関数の引数になにが渡されているか確認します。
2. 使用する機能と主なコード
【機能】
・Sctipt(スクリプト)
【コード】
・オブジェクト.Touched:Connect(関数)
・function
3. 引数の値を確認
まず、Roblox Studioを起動します。今回は、テンプレート「Baseplate」を使用します。
Partを適当な場所に設置します。
Partの中にScriptを追加します。
Scriptに以下のコードを記述します。
local part = script.Parent
local function onTouch(hikisuu)
print(hikisuu)
end
onTouch(1)
関数onTouchの引数に「1」を記入しているため、上記コードを実行すると「1」と表示されそうです。
「1」と表示されました。
上記のコードとその結果をふまえた上で、「オブジェクト.Touched:Connect(関数)」を含むコードを見てみます。
local part = script.Parent
local function onTouch(hikisuu)
print(hikisuu)
end
part.Touched:Connect(onTouch)
上記コードには、関数onTouchの引数を記入する箇所がありません。
引数が記入されていないのであれば、print(hikisuu)はnilと表示されそうです。
実行してみます。
結果、nilと表示されませんでした。
表示された文字列がなにを示しているか確認してみます。
表示された「RightFoot」はプレイヤーがPartに触れた部分を示していました。
プレイヤー以外のインスタンスが触れた場合の反応をみてみます。
「Sphere」という丸いPartを用意して、最初に作成したPartに当たるようにしてみます。
結果、「Sphere」と表示されました。
以上のことから、「オブジェクト.Touched:Connect(関数)」の関数の引数には、指定のオブジェクトに触れたインスタンスの名前が代入されていることが分かります。
4. まとめ
・「オブジェクト.Touched:Connect(関数)」ではオブジェクトに触れたインスタンス名が関数の引数に代入される
コメント