【Unityプロジェクト戦闘】ハンズオン指導:飛鳥(5)背景スクロール

        前回の記事:【Unity Project Combat】手をつないで教える:飛ぶ鳥(4)テキスト追加 に引き続き、主人公の鳥が地面に触れた後にジャンプしてゲームオーバー状態になるようにしましたので、引き続き解説していきます。スコアの仕組み。

1. ゲームに再参加します

        前回の記事の最後の説明によると、鳥が草の上に落ちると即ゲーム失敗と判断され、「GameOver」のテキストが再生され、鳥の「DIE」アニメーションが再生され、マウスをクリックした後は、マウスは再度飛行できなくなります。また、マウスのクリックをゲームの再入場とみなすことができ、実装方法も非常に簡単で、ゲームオーバー時にマウスの左ボタンのタッチを検出するだけで、自動的にゲームが開始されます。 GameControl スクリプトに次のコード スニペットを追加します。

         入力が完了したら保存し、Unity のメイン ページにジャンプします。失敗した後、もう一度マウスをクリックすると、ゲームが自動的に開始されることがわかります。

2. 背景スクロール

        次に、障害物を避けるためにキャラクターの鳥を右に飛んでもらいます。飛んでいますが、実際には主人公の鳥は静止しており、実際に動いているのは背景です。鳥が連続的に飛ぶように制御し、背景は常に動き続けます。スクロールすると、鳥が動いているように見えます。

        そのためには、背景画像に剛体と制御スクリプトを追加して、背景画像が一定の速度でゆっくりと左に移動するように制御する必要があります。まず、背景画像を制御できるように、背景画像の制御下に 2D 剛体を追加します。

         剛体を追加した後、背景画像が物理的な重力の影響で落ちないように、マテリアルを「キネマティック」に変更する必要もあります。次に、背景画像を左に移動する速度が必要なため、「GameControl」スクリプトに進みます。この変数を選択できるように、「GameControl」スクリプトの下でシングルトン モードでこの変数を定義します。グローバリゼーション (シングルトン モードが何なのかわからない場合は、私の前回の記事を参照してください: [Unity プロジェクト戦闘] 実践指導: 飛ぶ鳥 (4) テキストの追加):

        速度変数を追加した後、背景マップ コントロールの下に「ScrollingObject」という名前の新しいスクリプトを作成します。

        図上のマークをダブルクリックしてスクリプトを入力し、以下のコードを追加します。

         次に、ゲームが失敗すると背景画像も動かなくなると判断する必要があるので、Update関数の下に以下の内容を追加します。

         それを保存し、Unity のメイン インターフェイスに戻ってゲームを実行します。背景画像が左に移動していることがわかります。鳥が草に触れた後、背景画像の動きが止まりますが、また新しい問題が発生します。 : 背景画像が徐々に視界から遠ざかっていき、最終的には何もない風景と飛んでいる小鳥だけが残ります。したがって、達成したい効果は、背景画像が視野から飛び出そうになったときに、新しい背景画像が右側に再生成されることですこのようにして、鳥は背景画像内で常に飛んでいるように見えます。これを行うには、同一の背景コントロールが必要で、背景画像をコピーして貼り付けます。

        次に、2 つの背景画像をつなぎ合わせます。

        次に、スクリプトを使用して、この 2 つの背景画像を交互に表示します。鳥が赤枠の背景画像にいるときは、青枠の背景画像が右側に待機しています。鳥が青枠の背景画像に入ると、青枠の背景画像が表示されます。フレームの背景画像、赤枠 フレームの背景画像はすぐに右に走って待機します。したがって、背景画像を前後に実行するスクリプトを追加する必要があります。

        そして、「RepeatingBackGround」というスクリプトを作成します。

        ダブルクリックして開いたら、まず次のパラメータを初期化します。

         次に、2 つの背景画像が右にジャンプし続け、鳥が飛んでくるのを待つことができるように、背景画像のオフセット関数を作成します。

        最後に Update 関数でリアルタイムに判定し、鳥が背景画像の端まで飛んできたら、すぐに背景画像オフセット関数を呼び出して背景画像を右に移動させ、背景に空の背景がなくなるようにします。鳥の視野:

        何を言っているのか分からなくても問題ありません。保存後、Unity のメイン ページに戻ってゲームを実行すると理解できると思います。次回の記事(【Unity Project Combat】ハンズオンティーチング:Flying Birds (6) 障害物の追加)では、ゲームにゲーム性を加える障害物を追加していきます。 

Supongo que te gusta

Origin blog.csdn.net/qq_41884002/article/details/128314983
Recomendado
Clasificación