![見出し画像](https://assets.st-note.com/production/uploads/images/72684878/rectangle_large_type_2_8bec7d4cd9ee24763bfb4c5d31f0cef2.png?width=1200)
初心者からはじめるゲームの作り方講座 ~基本的なコーディング編⑥:触れると消える床~
こんにちは!かけるるです。
初心者向けにRobloxStudioでのゲームの作り方を紹介します。
今回は、触れると消えていく床を作ります。
画像をたくさん使用して紹介しますが、わかりにくかったら
感想欄にコメントください_(._.)_
前回までの講座はこちらです⇩
●●●●●●●●●●●●●●●●●●●●●●●●
自動で消えたり現れたりする床の説明⇩
触れるとゲームオーバーになる床の説明⇩
●●●●●●●●●●●●●●●●●●●●●●●●
早速始めましょう!
はじめに
前回のコース(溶岩の床)では、プレーヤーの動作に基づいてコードを機能させる方法を学びました。このコースでは、プレイヤーが床踏んだときにフェードアウトする床を作成する方法を説明します。
セットアップ
前回のコースを完成できていれば、フェードプラットフォームを溶岩の床の上に配置できます。
まず、プレイヤーが飛び越えられない場所に床をセットします。
![](https://assets.st-note.com/img/1645335447506-sbYTEAAL7Q.png?width=1200)
ゴールとの間に消える床を準備します。
パーツを挿入し、ゲームの世界の所定の位置に移動します。これをFadingPlatformと呼びます。
プレーヤーがジャンプできるようにサイズを変更します。
固定されていることを確認してください。
スクリプトをパーツに挿入し、名前をFadeOnTouchに変更して、デフォルトのコードを削除します。
プラットフォームの変数と、プラットフォームのTouchedイベントに接続された空の関数を作成します。
![](https://assets.st-note.com/img/1645335918485-uz2nUYGYrN.png)
![](https://assets.st-note.com/img/1645335990933-UNwAZ2Cbmn.png?width=1200)
local platform = script.Parent
local function fade()
end
platform.Touched:Connect(fade)
床を少しずつ消えるようにする
床が一瞬で消えてもいいのですが、面白さを出すために少しずつ消えるように(フェージングを)設定していきます。
Transparencyプロパティを変更し、少しずつ消えるようにコードを繰り返し書いても作ることは可能ですが、
段階的なフェードでは、0と1の間で少なくとも10回の変更が必要になります。これは20行の非常に反復的なコードです。
そこで、コードを特定の回数繰り返すforループを使用して簡単に実現していきます。コードの反復は、forループのコンマで区切られた3つのもので定義されます。
★★
制御変数-ループをカウントするために作成および使用される変数。この例では、それでcountあり、開始値は1です。
終了値-ループを停止するために取得する必要のある値。この例では、10です。
ステップ増分(オプション)-各ループで制御変数に何を追加するかを決定します。省略した場合、デフォルトで1になるため、この例では不要です。
この関数で、10回繰り返す1から始まるforループを作成します。
forループ内で、Transparencyプロパティを制御変数を10で割った値に設定します。
0.1の時間で待機関数を呼び出します。
local platform = script.Parent
local function fade()
for count = 1, 10 do
platform.Transparency = count / 10
wait(0.1)
end
end
platform.Touched:Connect(fade)
ループが実行されると、反復ごとにカウントが1ずつ増加します。
これは、プラットフォームの透明度が0.1秒ごとに0.1ずつ増加し、1秒後に完全な透明度に達することを意味します。
実際にプレイしてみましょう!
![](https://assets.st-note.com/img/1645370784138-ZmWZnmoSQG.png?width=1200)
再び現れるようにする
床が消えた後、プレイヤーは落下する必要があります。また、床はフェードしてから数秒後に戻る必要があります。そうしなければ、失敗した場合にプレーヤーが再試行することができません。
そこで、プレーヤーがパーツを通り抜けることができるかどうかを制御できるCanCollideプロパティを操作します。
forループの後で、プラットフォームのCanCollideプロパティをfalseに設定します。
待機機能を使用して数秒間待ちます。
CanCollideプロパティをtrueに戻します。
Transparencyプロパティを0に戻します。
local platform = script.Parent
local function fade()
for count = 1, 10 do
platform.Transparency = count / 10
wait(0.1)
end
platform.CanCollide = false
wait(3)
platform.CanCollide = true
platform.Transparency = 0
end
platform.Touched:Connect(fade)
もう一度プレイしてみましょう!
![](https://assets.st-note.com/img/1645371121209-2spspcnAdp.png?width=1200)
![](https://assets.st-note.com/img/1645371133056-n63UFUeiYA.png?width=1200)
![](https://assets.st-note.com/img/1645371157083-WVXvBK4PFc.png?width=1200)
![](https://assets.st-note.com/img/1645371167190-KDR9nKiatk.png?width=1200)
以上、初心者からはじめるゲームの作り方講座
~基本的なコーディング編⑥:触れると消える床~でした。
参考になったらスキボタン ♡⇒♥
よろしくお願いします!
オリジナル
#タダスキルライブラリー投稿内容
#RobloxStudio #ロブロックス #はじめての