Roblox で罠を作る方法です。 「罠」とは Roblox ゲームの中でよく出てくるもので、これにプレイヤーが触れるとプレイヤーは死にます。
今回の罠は「レーザー」にします。
通常のレーザーの作り方と、点滅するレーザーの作り方を紹介します。
レーザーを作成する
通常の罠の作り方は至ってシンプルです。Roblox の公式ページにチュートリアルがあるので、その通りやってみれば作れると思います。
コードが次のようなものになります。Laser
という Part を作成して、その中に Script を作成してください。
local Laser = script.Parent
local function onPartTouch(otherPart)
local touchObject = otherPart.Parent
local humanoid = touchObject:FindFirstChildWhichIsA("Humanoid")
if humanoid then
humanoid.Health = 0
end
end
Laser.Touched:Connect(onPartTouch)
Laser.Touched
のイベントハンドラの中で、触れたものがプレイヤー(Humanoid
)である場合、Health
を 0 にします。
これが基本的な罠の作成方法です。
レーザーを点滅させる
ではレーザーを点滅させてみましょう。
レーザーを点滅させるにはwhile
ループを作成して、この中でLaser.Transparency
を使い、レーザーを見えたり隠れたりします。
local Laser = script.Parent
...
Laser.Touched:Connect(onPartTouch)
while true do
Laser.Transparency = 1
wait(3)
Laser.Transparency = 0
wait(3)
end
Laser.Touched
をwhile
ループの後ろに移動しないでください。while
ループは無限ループとなるため、ループの後ろのコードは実行されません。
今回は 3 秒間隔で点滅するようにしました。 ただし、今のままではレーザーが消灯している場合も作動してしまい、プレヤーが触れると死んでしまいます。
うーん。なんでだろう。。。
レーザーが点灯している時だけ罠が作動するようにする
レーザーが点灯している時だけ罠が作動するようにするためには、まず消灯時にレーザーとプレーヤーが衝突しないようにする必要があります。
Laser.CanCollide
を使って、レーザーが消灯時にはプレイヤーが触れても通り抜けるようにする必要があります。CanCollide = false
にした場合、プレイヤーが触れても通り抜けるようになります。
local Laser = script.Parent
...
Laser.Touched:Connect(onPartTouch)
while true do
Laser.Transparency = 1
Laser.CanCollide = false
wait(3)
Laser.Transparency = 0
Laser.CanCollide = true
wait(3)
end
CanCollide = false
にした場合、Part の位置を固定しないと、ゲームの世界から落下して見えなくなってしまいます。
プロパティウィンドウから Part のAnchored
のチェックを付けておいてください。
しかし、このままではまだレーザーが消灯時にも罠が作動しています。
これはLaser.Touched
イベントがLaser.CanCollide = false
の場合でも発火してしまうためです。
これを避けるためには、イベントハンドラの中でレーザーのCanCollide
の状態を判定して、点灯中の場合のみ作動させる必要があります。
これでレーザーは配置された場所から動かなくなります。
local Laser = script.Parent
local function onPartTouch(otherPart)
-- 点灯中のみ罠が作動するようにする
if Laser.CanCollide == true then
local touchObject = otherPart.Parent
local humanoid = touchObject:FindFirstChildWhichIsA("Humanoid")
if humanoid then
humanoid.Health = 0
end
end
end
Laser.Touched:Connect(onPartTouch)
...
これで罠が完成しました。
まとめ
通常の罠の作り方と、点滅する罠の作り方でした。 少しカスタマイズしようとすると途端にわからなくなりますが、Roblox の公式サイトの API リファレンスはかなり親切に書いてあるので、こまったら API リファレンス読むようにします。