タッチパッド
CoddyのLuaジャーニー「Robloxゲームのスクリプティング」セクションの一部。レッスン 11/24。
これまで、スクリプトは開始時に実行されていました。ゲームはプレイヤーの行動に反応し、Robloxはイベントを使ってそのことを通知します。パーツのTouchedイベントは、何かがそのパーツにぶつかるたびに発生します。関数をイベントに接続すると、Robloxはタッチのたびにその関数を実行します。
local bell = script.Parent
bell.Touched:Connect(function(hit)
print("Ding!")
end)この関数はhitを受け取ります。これは、触れたパーツです。プレイヤーがベルの上を歩くと、hitはプレイヤーの体のパーツの1つになります。たとえばLeft Leg(新しいアバターではLeftFoot)です。そのため、hit.Nameでどのパーツなのかがわかります。
上の関数はConnect(...)の中に直接書かれており、名前はありません。イベントに応答するためだけに存在します。
チャレンジ
中級灰色のパッドは、訪れるものを待っています。このスクリプトはその中にあります。何かがパッドに触れると、次の処理を行います。
- 触れたパーツの名前を出力する
- パッドを緑色にする:
Color3.fromRGB(0, 255, 0)
Playを押してその上に乗り、それからCheckを押します。
自分で試してみよう
local pad = script.Parent
pad.Touched:Connect(function(hit)
-- 1. padに触れたパーツの名前を出力する
-- 2. padを緑色にする
end)
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
Robloxゲームのスクリプティングのすべてのレッスン
自分で練習してみよう: Luaオンラインコンパイラ