【ロブロックススタジオ】通り抜けるパーツの作り方[ROBLOX]

※当サイトはアフィリエイト広告を利用しています。

ロブロックススタジオ(RobloxStudio)で「徐々に透明になるパーツ」を作るにはどうするの?

この記事ではこんな疑問を解消します

この記事の内容

  • サンプルプログラムの提供
  • 徐々に透明になるパーツの作り方
  • 徐々に透明になるパーツのプログラムを作る5ステップ

 

現場でもプログラムを扱ったこともある元バックエンドSEの「ろこぼん」です。子供が4歳から一緒にプログラミングを始め6年たちました。今はROBLOXプログラミングで小学校5年生でビジュアルプログラミングからコードプログラミングへの移行へ成功しています

Twitterろこぼん@ROBLOX STUDIO

 

このプログラムを作ることができれば、プレイヤーがパーツにふれてから徐々に透明にし、

  • プレイヤーを下に落としたり
  • 迷路などで触れると通り抜けられるパーツ

として応用できます

 

☑ ROBLOXでもっとプログラミングを学ぶにはD-SCHOOLオンライン!コスパ最強

関連記事子供向けオンラインプログラミングスクール5選!送迎なし

子供向けオンラインプログラミング教室4選+1!送迎なし【2024年最新】
子供がプログラミングに興味を持ち始めたけどどうしたらいい?親にプログラミングの知識はないからどうやって選んでいいかわからないと悩んでいる方に、オンラインプログラミング教室を紹介します
スポンサーリンク

すぐにプログラムを使いたい方はこちらを写してください

local fadingFloor = script.Parent

local isTouched = false

local function fade()

if isTouched == false then
isTouched = true

for count = 1,10 do
fadingFloor.Transparency = count / 10
wait(0.1)
end

fadingFloor.CanCollide = false
wait(3)
fadingFloor.CanCollide = true
fadingFloor.Transparency = 0
isTouched = false

end

end

fadingFloor.Touched:Connect(fade)

徐々に透明になる床を作る5ステップ

  1. 床のパーツを作る
  2. パーツにふれたら少しずつ透明になるようにする
  3. パーツが全て透明になったらパーツを通り抜けるようにする
  4. 3秒待って、パーツを透明から戻し、通り抜けもできないようにする
  5. デバウンス制御(初めてふれたとき関数が1回だけ実行)

床のパーツを作る

  1. ブロックのパーツを作り「FadingFloor」と名前を変更
  2. 「FadingFloor」の横の+をクリックして、「Script」をクリック
  3. スクリプトの名前を「FadeOnTouch」と変更

パーツにふれたら、徐々に透明になるようにする

ここからは「FadeOnTouch」スクリプトの中身を書いていきます

パーツにふれたら、徐々に透明になるようにするには、

  1. パーツにふれたときに、fade関数を呼び出す
  2. fade関数の中で for ループ(繰り返し文)を使う
  3. 徐々に Transparency パラメタの値を 0.1 、0.2→ 1 にしていく

Transparency パラメタは 1 が消える、0 が見えるでしたね

local fadingFloor = script.Parent

–fade関数の中で徐々に透明にしていく
local function fade()
for count = 1,10 do
fadingFloor.Transparency = count / 10
wait(0.1)
end
end

— パーツにふれたらfade 関数を呼ぶ
fadingFloor.Touched:Connect(fade)

 

for ループ文(繰り返し)とは

指定した回数、繰り返す文法です

for count = 1 , 10 do

は、1から始まり10回繰り返す for (ループ)文、という意味です

今回一番右の 1 は使いませんので説明を割愛します

パーツが全て透明になったらパーツを通り抜けるようにする

fadingFloor.CanCollide = false

CanCollide、Transparencyパラメタに関しては出たり消えたりするパーツの作り方 で詳しく説明しています

3秒待って、パーツを透明から戻し、通り抜けもできないようにする

wait(3)
fadingFloor.CanCollide = true
fadingFloor.Transparency = 0

CanCollide、Transparencyパラメタに関しては出たり消えたりするパーツの作り方 で詳しく説明しています

デバウンス制御(初めてふれたとき関数が1回だけ実行)

「デバウンス」とは直訳で「跳ね返りを制御する」という意味です

このプログラムではプレイヤーが何度もふれるたびプログラムが実行されます

つまり、ジャンプし続ければずっと床が消えません

プログラムが正しく機能するためにはプレイヤーが床に初めてふれたときに、

fade関数が1回だけ実行される必要があります

 

ここまででできたプログラムに、以下のプログラムの黄色マーカの部分を足してください

local fadingFloor = script.Parent

local isTouched = false

local function fade()

if isTouched == false then

isTouched = true
for count = 1,10 do
fadingFloor.Transparency = count / 10
print(fadingFloor.Transparency)
wait(0.1)
end
fadingFloor.CanCollide = false
wait(3)
fadingFloor.CanCollide = true
fadingFloor.Transparency = 0
isTouched = false
end

end

fadingFloor.Touched:Connect(fade)

 

local isTouched = false ←ふれていない状態

isTouched という変数を新しく作り、false の値を入れます

if isTouched == false then

アバターが触れて fade関数が呼ばれ実行されたら、今の状態が触れた状態か、ふれていない状態かを if 文で確認します

もし isTouched が false だったら、つまりふれていない状態と確認できたら

isTouched = true ←ふれている状態

isTouched 変数に true を入れ、ふれている状態にします

 

このふれている状態の時に、またふれたとしても if 文で「もしふれていない場合には」と書いてあるので、isTouched が true の間は、次の fade関数は実行されません

この後、徐々に透明にして通り抜ける処理が終わった後

isTouched = false ←ふれていない

でふれていない状態に戻して終わりです

これで、徐々に透明になっている間に、何回プレイヤーが床にふれても、一回の処理しか実行されなくなります

ロブロックススタジオ(RobloxStudio)徐々に透明にする:まとめ

5ステップで徐々に透明になる床ができましたね!

  1. 床のパーツを作る
  2. パーツにふれたら少しずつ透明になるようにする
  3. パーツが全て透明になったらパーツを通り抜けるようにする
  4. 3秒待って、パーツを透明から戻し、通り抜けもできないようにする
  5. デバウンス制御(初めてふれたとき関数が1回だけ実行)

 

だんだん複雑になってきましたが、if文(分岐処理)や for文(ループ処理)はプログラミングの基礎です

やりながら感覚をつかんでいきましょう!

 

☑ ROBLOXでもっとプログラミングを学ぶにはD-SCHOOLオンライン!コスパ最強

関連記事子供向けオンラインプログラミングスクール5選!送迎なし

子供向けオンラインプログラミング教室4選+1!送迎なし【2024年最新】
子供がプログラミングに興味を持ち始めたけどどうしたらいい?親にプログラミングの知識はないからどうやって選んでいいかわからないと悩んでいる方に、オンラインプログラミング教室を紹介します
タイトルとURLをコピーしました