- 2024年8月10日
1分間 Unity講座 スクリプトファイルのtemplateに表示されている不要なコメント(Start is called before the first frame update:Update is called once per frame)を消す方法
このブログは「ファイブボックス一分間Unity講座」の補足説……
このブログテーマでは、スクラッチの初心者から上級者まで、ちょっとお役に立つ情報を不定期で紹介していきます。
作成済みのプロジェクトでは、複数のブロックをクローンで作成し、任意の初期位置に配置、スクロールで左右に移動する仕組みを作成しています。最初から作りたい場合は、下記の記事をご参照ください。
スクロールの作成 第1弾 相対的な移動を作成する方法
スクロールの作成 第2弾 超簡単 天井跳ね返りの修正
スクロールの作成 第3弾 クローン機能でスクロールで移動する足場を複数作成
スクロールの作成 第4弾 クローンで作成されたブロックの表示コントロール
スクロールの作成 第5弾クローンで作成されたスプライトの幅を自動で取得する方法
ここまで作成してきた作品では、左右のキーが押されたタイミングでクローンで作られたブロックが移動し、プレイヤーが相対的に動いているように見える演出ができました。
ただし、プレイヤーがブロックに当たった時に、上下のジャンプ補正が働き、ブロックの上に乗ったり、下に沈んだりと想定外の動きができていました。
今回の記事では、その部分を修正していきます。
今回も完成作品を共有しますので、合わせてご参照ください
下の動画は不定期配信の「ファイブボックス 一分間スクラッチ講座」です。ご興味のある方は併せてご参照ください。
まずはキャットの左右に障害物があるかどうかを検知する「センサー」を作成します。
このセンサーは、キャットに随時追従し、キャットが壁にぶつかる前に進行方向に障害物があるかどうかを判定する役割を担います。
下の図のように、プレイヤーのスプライトより、左右にはみ出すように配置します。
動画では一旦キャットを複製して、それを基準として作成してみました。このスプライトは、後で透明にするので色はなんでもOKです。
事前に変数を2つ用意します
旗が押されたとき、に続いて以下の処理を行います
センサーLは変更する変数が違うだけで、センサーRと同じ内容です。
Player(キャット)には上で値を代入した変数を使って、移動条件を変更します。
作成済みの左右のキーが押されたタイミングで、変数:スクロールXを変更する部分を修正します。
まずは右移動の管理
左側も同様に
左右のキーを押して、障害物に衝突したタイミングで、移動できなくなったOK。 想定外の動きをした場合は、センサーの位置を確認します。センサーより先にキャットのひげが当たっていたりすると、元の動きと同様になります。この場合はセンサーをもう少し外側にずらしましょう。
最後は幽霊の効果を100にして、両センサーを透明にしておきます。
「隠す」を使ってしまうと機能自体が止まってしまうので、センサーが働きませんよ。
ファイブボックスでは、スクラッチやUnityの個別指導のオンラインレッスンを行っています。