見出し画像

初心者からはじめるゲームの作り方講座 ~基本的なコーディング編⑥:触れると消える床~

こんにちは!かけるるです。
初心者向けにRobloxStudioでのゲームの作り方を紹介します。

今回は、触れると消えていく床を作ります。

画像をたくさん使用して紹介しますが、わかりにくかったら
感想欄にコメントください_(._.)_

前回までの講座はこちらです⇩

●●●●●●●●●●●●●●●●●●●●●●●●

自動で消えたり現れたりする床の説明⇩


触れるとゲームオーバーになる床の説明⇩

●●●●●●●●●●●●●●●●●●●●●●●●

早速始めましょう!

はじめに

前回のコース(溶岩の床)では、プレーヤーの動作に基づいてコードを機能させる方法を学びました。このコースでは、プレイヤーが床踏んだときにフェードアウトする床を作成する方法を説明します。

セットアップ

前回のコースを完成できていれば、フェードプラットフォームを溶岩の床の上に配置できます。
まず、プレイヤーが飛び越えられない場所に床をセットします。

溶岩の床の先にゴールを準備


ゴールとの間に消える床を準備します。

  1. パーツを挿入し、ゲームの世界の所定の位置に移動します。これをFadingPlatformと呼びます。

  2. プレーヤーがジャンプできるようにサイズを変更します。

  3. 固定されていることを確認してください。

  4. スクリプトをパーツに挿入し、名前をFadeOnTouchに変更して、デフォルトのコードを削除します。

  5. プラットフォームの変数と、プラットフォームのTouchedイベントに接続された空の関数を作成します。

FadingPlatform1と2と名前を付けて準備
作成イメージ
local platform = script.Parent
 
local function fade()
 
end
 
platform.Touched:Connect(fade)

床を少しずつ消えるようにする

床が一瞬で消えてもいいのですが、面白さを出すために少しずつ消えるように(フェージングを)設定していきます。

Transparencyプロパティを変更し、少しずつ消えるようにコードを繰り返し書いても作ることは可能ですが、

段階的なフェードでは、0と1の間で少なくとも10回の変更が必要になります。これは20行の非常に反復的なコードです。

そこで、コードを特定の回数繰り返すforループを使用して簡単に実現していきます。コードの反復は、forループのコンマで区切られた3つのもので定義されます。

★★

制御変数-ループをカウントするために作成および使用される変数。この例では、それでcountあり、開始値は1です。

  • 終了値-ループを停止するために取得する必要のある値。この例では、10です。

  • ステップ増分(オプション)-各ループで制御変数に何を追加するかを決定します。省略した場合、デフォルトで1になるため、この例では不要です。

  1. この関数で、10回繰り返す1から始まるforループを作成します。

  2. forループ内で、Transparencyプロパティを制御変数を10で割った値に設定します。

  3. 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秒後に完全な透明度に達することを意味します。

実際にプレイしてみましょう!

数秒後、消えますが落ちません&再表示されません


再び現れるようにする

床が消えた後、プレイヤーは落下する必要があります。また、床はフェードしてから数秒後に戻る必要があります。そうしなければ、失敗した場合にプレーヤーが再試行することができません。
そこで、プレーヤーがパーツを通り抜けることができるかどうかを制御できるCanCollideプロパティを操作します。

  1. forループの後で、プラットフォームのCanCollideプロパティをfalseに設定します。

  2. 待機機能を使用して数秒間待ちます。

  3. CanCollideプロパティをtrueに戻します。

  4. 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)

もう一度プレイしてみましょう!

床が徐々に消えていきます


無事溶岩の床に落下しました
無事飛び越えることには消えてますが
数秒後、復活します。

以上、初心者からはじめるゲームの作り方講座
~基本的なコーディング編⑥:触れると消える床~でした。

参考になったらスキボタン ♡⇒♥ 
よろしくお願いします!

  1. オリジナル
    #タダスキルライブラリー

  2. 募集中のお題企画
    #つくってみた #ゲームの作り方

  3. 投稿内容
    #RobloxStudio #ロブロックス #はじめての

  4. 人気
    #タコボンド #イカゲーム

この記事が気に入ったらサポートをしてみませんか?