In スクリプトの紹介 では、時間の経過とともにエクスペリエンス内の変更を作成する方法を学びました。ユーザーがそれに足を踏み入れるときに死亡する溶岩の床を作成する方法を学びます。このチュートリアルでは、ユーザーがそれに足を踏み入れるときに死亡する溶岩の床を作成する方法を学びます。
セットアップ
あなたの世界に殺傷的な溶岩を置く場所が必要です。スクリプトの紹介 コースをフォローすると、溶岩の床は消えるプラットフォームの隙間にぴったりと合うようになります。
Insert a Part and move it into place in your world. Name it LavaFloor .
広がるスペースの床を覆うようにサイズを変更します。
マテリアルプロパティを Material にオレンジシェードに設定し、Neon とColor をオレンジ色に設定して、フロアをより溶岩のように見せます。
スクリプト を LavaFloor 部分に挿入し、Kill に名前を変更します。
デフォルトコードを削除し、溶岩の変数を作成します。
local lava = script.Parent
イベントに接続する
ユーザーが溶岩に触れたときを検知するには、イベントを使用します。 すべてのパーツに Touched イベントがあり、何かがそれに触れると、そのイベントが発動します。 を接続 して、そのイベントが発動すると機能を実行できます。
新しい関数を kill として宣言します。
溶岩オブジェクトの Touched イベントに、ドットを使用してアクセスします。ライブラリのプロパティのように: lava.Touched 。
コール Connect 関数を Touched イベントで、kill 関数をパスします。
local lava = script.Parentlocal function kill()endlava.Touched:Connect(kill)
ラバを触れるときに実行するコードは、kill 関数に書き込まれます。ラバの上にマウスポインタを置くと、 Connect 機能が実行されます。ドットではなく、領域の差分を使用しているため、理由を忘れてください。
タッチ部分を取得する
ユーザーを殺すには、関数にそのユーザーに関連するオブジェクトが必要です。パーツの Touched イベントは、それを触ったパーツを提供できますが、関数の Touched パラメーターをリクエストする必要があります。
パラメーターは、関数が呼び出されるときに期待するものを定義します。パラメーターは、関数を呼び出すときに他の変数と同じように使用できます。パラメーターは、関数を呼び出すときに親子の中に入れることで情報をパラメーターに渡すことができます。パラメーターは
local lava = script.Parent
local function kill(otherPart)
end
lava.Touched:Connect(kill)
kill 関数が呼び出されると、otherPart パラメータは溶岩の床に触れた部分を表示し、コードを書くコードはそのパラメータを使用できます。
キャラクターとヒューマノイド
ユーザーが溶岩に触れると、Roblox は、そのユーザーが触った特定の身体部分を検出できます。たとえば、左足または右足です。この部分は、ユーザーの キャラクター モデルに含まれているすべてのオブジェクトを含む、ユーザーのアバターのエクスペリエンス内のすべてのオブジェクトを構成しています。
- ユーザーの頭、腕、胴体などの個々のボディパーツ。
- ユーザーが着用する衣服やアクセサリー。
- Class.Humanoid 、ユーザーに関連する多くのプロパティを含む特別なオブジェクト。
- ユーザーの動きを制御するヒューマノイドルートパーツ。
以前に説明したように、溶岩に触れる任意のボディパーツは、キャラクターモデルの一部であるため、otherPart.Parent でそのキャラクターに参照できます。ラベルを作成して、部品が溶岩の床に触れたパーツの親を保存できます。
local lava = script.Parent
local function kill(otherPart)
local partParent = otherPart.Parent
end
lava.Touched:Connect(kill)
キャラクターモデルから、ユーザーをキルするために人形オブジェクトを取得する必要があります。これは、FindFirstChild() 関数を使用して、FindFirstChild() を含む、ユーザーが
local lava = script.Parent
local function kill(otherPart)
local partParent = otherPart.Parent
local humanoid = partParent:FindFirstChild("Humanoid")
end
lava.Touched:Connect(kill)
ヒューマノイドをチェック中
ユーザー形式が見つかったかどうかを簡単に確認するには、 if 文を使用します。if 文の中のコードは、最初の行に定義された条件が true である場合にのみ実行されます。
将来のコースで遭遇するより複雑なコンディションを構築するために使用できるさまざまな オペレーター があります - 今のところ、humanoid 変数をコンディションとして置きます。Create an if statement with 2>humanoid2> as the condition.
local lava = script.Parent
local function kill(otherPart)
local partParent = otherPart.Parent
local humanoid = partParent:FindFirstChild("Humanoid")
if humanoid then
end
end
lava.Touched:Connect(kill)
キャラクターの体力を設定
Class.Humanoid がチェックされたので、そのプロパティを変更できます。 if (set its Health property to 8 )、関連するキャラクターが死亡します。在体の if 文の中で、 1>Health1> プロパティのヒューマノイドを 0 に設定します。
local function kill(otherPart)
local partParent = otherPart.Parent
local humanoid = partParent:FindFirstChild("Humanoid")
if humanoid then
humanoid.Health = 0
end
end
lava.Touched:Connect(kill)
それで、あなたの溶岩の床が完了します!あなたのエクスペリエンスをテストし、あなたの毒性のある溶岩がユーザーを接連絡するときに成功してユーザーを殺すことを確認してください。Obby の追加チャレンジとして、溶岩を使用して、世界の境界として使用することを試してください。
最終コード
local lava = script.Parent
local function kill(otherPart)
local partParent = otherPart.Parent
local humanoid = partParent:FindFirstChild("Humanoid")
if humanoid then
humanoid.Health = 0
end
end
lava.Touched:Connect(kill)