Unityに関連する記事です

 選択可能なステージをスクロール機能を使ってボタン表示し、選択するとキャラがステージ上に移動する機能と
ステージ選択後に探索開始ボタンを押すと、選択しているステージの情報を参照した上でステージシーンへ遷移する機能を実装します。


<実装動画>
動画ファイルへのリンク




設計


 シーン管理とボタン生成を行う World スクリプト、ステージ選択用のボタンにアタッチするスクリプトの2つを作成する
 ステージ選択用のボタンのゲームオブジェクトを作成し、それは Content ゲームオブジェクトの子オブジェクトとして生成する
 Content ゲームオブジェクトには GridLayoutGroup と Content Size Fitter がアタッチされているので、子オブジェクトにすることで、ScrollView 内にきれいにならぶ
 ボタンの制御(ステージ面、ステージの画像、ステージの番号など)を管理できるように、ボタン用のスクリプトを作成し、それを World スクリプトが Content の子オブジェクトとして生成するロジック
タワーディフェンスの、味方キャラの配置用のポップアップと同じような流れ
ボタンを押すと、GameData 内に選択したボタンに設定されているステージの番号を反映する。この値を使って、ステージを特定する(GameData 内に変数は用意済み)




Canvas




完成時のヒエラルキー画像例



インスペクター画像






PlayerIcon




インスペクター画像



インスペクター画像




ScrollView















btnSubmit



インスペクター画像



インスペクター画像




btnStageSelectDetail



ヒエラルキー画像



構造




インスペクター画像



インスペクター画像



インスペクター画像



Sceneビュー画像




Gameビュー画像



StageSelectDetail スクリプト



StageSelectDetail.cs

<= クリックすると開きます




アタッチ



インスペクター画像



プレファブの編集モード





World スクリプト



World.cs

<= クリックすると開きます



World ゲームオブジェクト



ヒエラルキー画像



インスペクター画像



StageDataSO



StageDataSO.cs

<= クリックすると開きます



インスペクター画像



DataBaseManager



DataBaseManager .cs

<= クリックすると開きます








SceneStateManager スクリプトを修正する




SceneStateManager.cs

<= クリックすると開きます



Stage スクリプトを修正する


 ステージシーンへ遷移した際、SceneStateManager に選択したステージの情報を管理させるようにします。
以前は SceneStateManager の stage 変数には、ヒエラルキーより Stage ゲームオブジェクト登録していましたが、
それは同じシーン内にお互いのゲームオブジェクトが存在していたので可能でした。

 今回からはステージ選択シーンのあとにステージシーンへ遷移するため、
SceneStateManager は前のシーンから継続して利用する状態になるため、シーン間のゲームオブジェクトのつながりがありません。
そのため、シーン遷移が完了したら、 Stage ゲームオブジェクトの Stage スクリプトの情報を取得する部分が必要になります。
この処理を Stage スクリプト側に用意して、SceneStateManager の stage 変数に代入するようにします。


Stage.cs

<= クリックすると開きます

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu



プログラムの基礎学習

コード練習

技術/知識(実装例)

2Dおはじきゲーム(発展編)

2D強制横スクロールアクション(発展編)

3Dダイビングアクション(発展編)

2Dタップシューティング(拡張編)

レースゲーム(抜粋)

2D放置ゲーム(発展編)

3D脱出ゲーム(抜粋)

2Dリアルタイムストラテジー

2Dトップビューアドベンチャー(宴アセット使用)

3Dタップアクション(NavMeshAgent 使用)

2Dトップビューアクション(カエルの為に〜、ボコスカウォーズ風)

3Dトップビューアクション(白猫風)

VideoPlayer イベント連動の実装例

VideoPlayer リスト内からムービー再生の実装例(発展)

AR 画像付きオブジェクト生成の実装例

AR リスト内から生成の実装例(発展)

private



このサイト内の作品はユニティちゃんライセンス条項の元に提供されています。

管理人/副管理人のみ編集できます