完成動画
はじめに
本記事では、1秒ごとにパーツの透明・非透明を切り替える簡単なスクリプトを紹介します。このスクリプトを使うことで、消えたり現れたりするパーツを作成できます。
使用する機能
- While(条件が満たされる間、繰り返し処理を実行するループ構文)
- Transparency(パーツの透明度を変更するプロパティ)
- CanCollide(パーツと他のオブジェクトが衝突できるかを制御するプロパティ)
- wait()(指定した時間だけ処理を一時停止する関数)
エクスプローラー構成
エクスプローラの構成は以下の通りです。
Workspace
└Part
└Scriptスクリプトの内容
while wait(1) do
local part = script.Parent
local isVisible = part.Transparency == 0
part.Transparency = isVisible and 1 or 0
part.CanCollide = not isVisible
end簡単解説
1. ループ処理
while wait(1) doこのコードは無限ループを作成し、1秒ごとに処理を実行します。
2. 対象のパーツを取得
local part = script.Parentscript.Parentを使い、スクリプトが入っているパーツを取得します。
3. 透明状態を判定
local isVisible = part.Transparency == 0Transparencyが0(透明でない)かどうかを判定し、isVisibleに結果を格納します。
4. 透明・非透明を切り替え
part.Transparency = isVisible and 1 or 0isVisibleがtrueなら透明(1)、falseなら非透明(0)に切り替えます。
5. 衝突判定の変更
part.CanCollide = not isVisibleisVisibleがtrueのとき(表示されているとき)はCanCollide = false(衝突しない)、falseのとき(透明のとき)はCanCollide = true(衝突する)に変更します。
まとめ
このスクリプトを実装すると、1秒ごとにパーツが消えたり現れたりする動きを作ることができます。TransparencyとCanCollideを組み合わせることで、ゲーム内で特定のタイミングで通れる壁や消える足場などのギミックを作ることが可能です。




コメント