こんな疑問を解消します
この記事の内容
- パーツが「通り抜ける/通り抜けない」を制御するプログラム
- パーツが「見える/見えない」を制御するプログラム
- while 文による無限ループ(繰り返し文)による制御
- それらを関数でまとめておくと便利
- サンプルプログラムの提供
この内容を理解すると以下のようなものが作れます
- 出たり消えたりするパーツの作成
- 障害物(Obby)で床が無いのに、あるように見えるトラップ
- 迷路の隠し通路
☑ 変数についてはこちらもご参照ください
今回は、障害物ゲームでパーツが出たり消えたりすることで、プレイヤーが落ちてしまう仕掛けを作ります
☑ ROBLOXでもっとプログラミングを学ぶにはD-SCHOOLオンライン!コスパ最強
プログラムをすぐ使いたい人は以下を写してください
local transform = script.Parent
–通り抜ける・消える関数
local function disapear()
transform.CanCollide = false
transform.Transparency = 1
end
–通り抜けない・出現している関数
local function apear()
transform.CanCollide = true
transform.Transparency = 0
end
–3秒まって出現・消失を繰り返すプログラム
while true do
wait(3)
–関数呼び出し
disapear()
wait(3)
–関数呼び出し
apear()
end
出現/消失を繰り返すパーツを作るには?
出現/消失を繰り返すパーツを作るには、3ステップでできます
- パーツが「通り抜ける/通り抜けない」を制御するプログラム
- パーツが「見える/見えない」を制御するプログラム
- while 文による無限ループ(繰り返し文)による制御
while 文がわからない方は、プログラムでパーツの色を変える方法3選をご参照ください
パーツとスクリプトを作る
パーツを作り、Scriptを作ります
分かりやすいようパーツの名前は「DisappearPart」、スクリプトの名前は「DisappearScript」とします
(自分が分かれば何でもいいですが、後でわかるようにすぐ変更してください)
「DisappearScript」の中にプログラムを書いていきます
変数のおさらいと「スクリプトを変えて再利用可能にする方法」
その前に、今回新たに出てきた以下の文を説明します
意味は、「local このスクリプト」で「変数 transform」に「script.Parent」を代入するという意味です
script.Parent とはなんでしょう?
script.Parent とは「このスクリプトの親」という意味で
platform に script.Parent 、今回の場合 「game.Workspace.DisappearPart」のことを指しています
つまり、
local transform = game.Workspace.DisappearPart
と
local transform = script.Parent
は一緒ということです
local platform = script.Parent と書く利点
- いちいち住所をこと細かく書く必要がなくなる
- 別のパーツにスクリプトをコピペするだけで、同じプログラムを動かすことができる
全部の住所を指定する書き方だと、同じプログラムを使うときに住所の書き換えというめんどくさい作業が発生します
この作業をなくせる便利なおまじないということですね
では、次からは具体的なプログラムの内容を説明します
①通り抜ける/通り抜けないを制御する CanCollide パラメタ
CanCollide パラメタの値を制御することで物体を通り抜けるようにプログラムを作ることができます
–通り抜けられる
transform.CanCollide = false
–通り抜けられない
transform.CanCollide = true
②見える/見えないを制御する Transparency パラメタ
Transparency パラメタの値を制御することで物体を見えるようにしたり、消したりできます
物体の見える/見えないを制御するプログラム
— 見える
transform.Transparency = 0
— 消える
transform.Transparency = 1
③while 文(無限ループ)で囲み、ゲームの間ずっと繰り返すようにする
できあがりです
–無限ループ
while true do
wait(3)
transform.CanCollide = false
transform.Transparency = 1
wait(3)
transform.CanCollide = true
transform.Transparency = 0
end
参考:出現/消失を関数にしてあとで使いやすくする
さらに、あとで使いやすくするために、「desapear関数」と「apear関数」にまとめます
通り抜る関数と、消える関数を「disapear()関数」を作ってまとめています
local function disapear()
transform.CanCollide = false
transform.Transparency = 1
end
通り抜けないようにする関数と、出現している関数を「apear()関数」を作ってまとめています
local function apear()
transform.CanCollide = true
transform.Transparency = 0
end
while true do (無限ループ)の中で「desapear関数」と「apear関数」を呼び出しています
while true do
wait(3)
–関数呼び出し
disapear()
wait(3)
–関数呼び出し
apear()
end
ロブロックススタジオ(RobloxStudio)出現/消失するパーツを作る:まとめ
出現/消失を繰り返すパーツを作る3ステップと、関数でまとめておくと便利ということが解りましたね
- パーツが「通り抜ける/通り抜けない」を制御するプログラム
- パーツが「見える/見えない」を制御するプログラム
- while 文による無限ループ(繰り返し文)による制御
この内容を理解して、以下のような仕掛けを作ってみてください!
- 出たり消えたりするパーツの作成
- 障害物(Obby)で床が無いのに、あるように見えるトラップ
- 迷路の隠し通路
☑ ROBLOXでもっとプログラミングを学ぶにはD-SCHOOLオンライン!コスパ最強