Unityに関連する記事です

 この手順では、先ほどまでに作成したムービー一覧のポップアップを実際にゲームに取り入れたした場合の実装例です。

 ゲーム内にあるアイテム獲得時にムービー情報をリストに登録し、その情報を元にしてムービー一覧を作成する機能を追加します。
そのため、アイテムを獲得するほど、ムービー一覧が徐々に増えていきます。


<実装動画 .▲ぅ謄牾容聖にムービーの情報をリストに追加>
動画ファイルへのリンク


<実装動画◆^賤表示ボタンを押した際に、現在のムービーのリストをベースに一覧表示する機能にする>
動画ファイルへのリンク



事前準備


 事前準備としまして、VideoPlayer を利用したイベント処理の実装の手順において作成しているプロジェクトを利用していますので、
そのプロジェクトがない場合には、先にそちらの作成をお願いします。

 こちらの5つの手順を実装してからこの手順を進めてください。
VideoPlayer を利用したイベント処理の実装例
VideoPlayer を利用したイベント処理の実装例
VideoPlayer を利用したイベント処理の実装例
VideoPlayer を利用したイベント処理の実装例
VideoPlayer を利用したイベント処理の実装例


設計


 今回はサンプルのゲーム内に、ムービー一覧ポップアップの機能を組み込む実装を行います。
この学習を行うことで、自分のプロジェクトにも組み込むイメージができると思います。



 ゲームにおいては、ユーザーが観たことのあるムービーのみを一覧表示するケースが多数です。

 今までの実装においてはすでに、アイテムを獲得するとムービーが再生される仕組みが出来上がっていますので、
この処理とポップアップの処理との紐づけを考えます。

 前提としまして、UserData のリストは、アイテムの情報を登録することで、そのアイテムとムービーの情報とを紐づけています。
そのため、ゲーム内でアイテムを獲得したタイミングで UserData の List に獲得したアイテムの情報を登録させる処理を行います。
このような仕組みにすることにより、ユーザーのアイテム情報には「獲得したアイテムに紐づいているムービーの情報」のみが登録されていくことになります。

 ゲーム画面ではムービーが再生されている際に、プログラムの内部においては登録の処理を行っていくことになります。



 ムービー一覧ポップアップがサムネイルのゲームオブジェクトを生成する際には
UserData のアイテムの情報のリストからサムネイルのゲームオブジェクトを作成するようにすでに設計されていますので、
ポップアップを開くと同時に、現時点での最新のアイテムの情報をベースにして、サムネイルのゲームオブジェクトが生成されるようになります

 こうすることにより、ムービー一覧ポップアップに表示されるサムネイルについても
ユーザーが獲得しているアイテム(観たことがあるムービー)のみを一覧表示させるように制御出来ます。


UserData ゲームオブジェクトの設定を変更する


 前回の手順ではデバッグモードを利用してムービーの情報をリストに登録していました。
今回からは、獲得したアイテムのみをムービーの情報をリストに追加するように変更しますので、
デバッグモードを解除しておきます。

 isDebugItemAdd 変数のチェックを外し、ゲームスタート時にリストに情報が追加されないように制御します。


インスペクター画像



 bool 型の変数については、スクリプト内部にあるデバッグ用の処理に連動するスイッチのような役割を持たせることで
その都度スクリプトを修正することなく、効率のよい開発が出来るようになります。

 こちらの部分です。


    void Start() {
        // デバッグモードの場合(Awake メソッドでやらないこと)
        if (isDebugItemAdd) {
            // データベースにあるアイテムの情報をすべて獲得したアイテムのリストに追加
            for (int i = 0; i < DataBaseManager.instance.itemDataSO.itemDataList.Count; i++) {
                AddItemDataList(DataBaseManager.instance.itemDataSO.itemDataList[i]);
            }
        }
    }


ItemDetailModel スクリプトの修正をする


 アイテムを取得したタイミングで、UserData に用意してある獲得したアイテムのリストに情報を登録します。
Debug.Log メソッドの書いてある部分に処理を実装します。


ItemDetailModel.cs

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


 スクリプトを修正したらセーブします。


ゲームを実行して動作を確認する


 手順が完了したので、デバッグを行って動作の検証をします。

 以前にもお伝えしているように、どのような状態で動作すれば正常であるのか、制御内容の把握と、真偽を自分で見極め判断することが大切です。


<実装動画 .▲ぅ謄牾容聖にムービーの情報をリストに追加>
動画ファイルへのリンク


<実装動画◆^賤表示ボタンを押した際に、現在のムービーのリストをベースに一覧表示する機能にする>
動画ファイルへのリンク


 以上で完成です。



 以上でこの手順は終了です。

 => 次は ム―ビーリストの一覧表示の実装例 です。

コメントをかく


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

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

Menu



プログラムの基礎学習

コード練習

技術/知識(実装例)

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

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

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

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

レースゲーム(抜粋)

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

3D脱出ゲーム(抜粋)

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

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

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

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

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

VideoPlayer イベント連動の実装例

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

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

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

private



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

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