Unityに関連する記事です

 お使い終了の状態になった際に画像を変更して、キャラを生成する処理を実装します。
キャラをタップすることでゲームの1サイクルが完了し、次のお使いを実行できるようにします。
 

<実装動画 ,使い完了した際に、キャラのゲームオブジェクトを生成する>
動画ファイルへのリンク


<実装動画◆.ャラのゲームオブジェクトをタップすることでゲームの1サイクルが終了する>
動画ファイルへのリンク


手順10 −お使い完了時の処理を実装し、ゲームの基本サイクルを作成する−
18.お使い完了用の Chara ゲームオブジェクトと CharaController スクリプトを作成する
19.TapPointDetail スクリプトを修正し、お使い完了状態になった際に、Chara ゲームオブジェクトを生成する処理を追加する



 新しい学習内容は、以下の通りです。

 ・いままで学習した処理の復習(AddListener メソッド、Instantiate メソッドなど)




18.お使い完了用の Chara ゲームオブジェクトと CharaController スクリプトを作成する

1.設計


 お使いが完了したら、その地点にお使い完了を表現するためのキャラのゲームオブジェクトを生成し、
それをタップすることによって、一連のお使いの処理が終了するような設計を考えます。

 このように明確な画面上の情報の変化をつけることによって、ユーザーにどんなゲームなのか、どんな風に進んでいけば1回のお使いが終わるのか、という情報を与えるようにします。

 このサイクルが完成することによって、お使いを始めて、お使いを終了する、という部分のサイクルが完成出来ます。


2.TapPointDetail ゲームオブジェクトの子オブジェクトとして CharaDetail ゲームオブジェクトを作成する


 TapPointDetail ゲームオブジェクトの上で右クリックをしてメニューを開き、UI => Button を選択します。
新しく Image コンポーネントと Button コンポーネントがアタッチされたゲームオブジェクトが作成されますので、
名前を CharaDetail に変更します。
このゲームオブジェクトはタップに反応するボタン役のゲームオブジェクトであるとともに、キャラの背景に表示する画像(フレーム画像)を設定する役割を持ちます。


ヒエラルキー画像




 Image コンポーネントの Source Image プロパティ欄に画像を設定します。
これはキャラの背景に表示する画像になります。今回はキャラがひきたつような演出用の画像を設定しています。
自由な画像を設定してみてください。


インスペクター画像



Scene ビュー、Game ビュー画像



 以上で完成です。
 

3.CharaDetail ゲームオブジェクトの子オブジェクトとして imgChara ゲームオブジェクトを作成する


 CharaDetail ゲームオブジェクトの上で右クリックをしてメニューを開き、UI => Image を選択します。
Image コンポーネントがアタッチされたゲームオブジェクトが作成されますので、名前を imgChara に変更します。
このゲームオブジェクトはキャラの画像を設定する役割を持つゲームオブジェクトです。


ヒエラルキー画像




 Image コンポーネントの Source Image プロパティ欄に、キャラ用の画像を設定します。
今回はフリー素材の犬の画像を利用していますが、自由に設定してください。

 なお。卵を抱えている画像にしているのには理由があり、お使いの結果のご褒美をイースターエッグに準えて用意をすることを考えているためです。
そのため、ご褒美が卵以外のような場合には、「自分の考えているお使いのご褒美の内容」に即した内容の画像を用意してみてください。

 自分でゲームを遊ぶことを考えて、こういったデザインも考えていくようにしましょう。


インスペクター画像



Scene ビュー、Game ビュー画像



 以上で完成です。続いて、これらのゲームオブジェクトを制御するためのスクリプトを作成します。


4.CharaDetail スクリプトを作成する


 作成した CharaDetail ゲームオブジェクトを制御するためのスクリプトを作成します。
ボタンを持つゲームオブジェクトですので、ボタンを押した際の処理をメソッドとして用意し、ボタンを押されたらそのメソッドを実行するように設計を行います。


CharaDetail.cs

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


 スクリプトを作成したらセーブします。


5.CharaDetail ゲームオブジェクトに CharaDetail スクリプトをアタッチして設定を行う


 ヒエラルキーにある CharaDetail ゲームオブジェクトに、作成した CharaDetail スクリプトをドラッグアンドドロップしてアタッチしてください。
アタッチしたら必ず対象のゲームオブジェクトの確認を行い、スクリプトが正常にアタッチされていることを確認しておきます。

 CharaDetail スクリプトをインスペクターで確認すると、SerializeField 属性で宣言してある変数が表示されていますので、
こちらに該当するコンポーネントの情報を管理しているゲームオブジェクトをドラッグアンドドロップしてアサインします。
ゲームオブジェクトをアサインすると、そのゲームオブジェクト内から自動的に、対象となるコンポーネントの情報を登録してくれます。


インスペクター画像



 以上で設定は完了です。


6.CharaDetail ゲームオブジェクトをプレファブにする


 ヒエラルキーにある CharaDetail ゲームオブジェクトを Prefabs フォルダ内にドラッグアンドドロップしてプレファブにします。
ヒエラルキー上からは CharaDetail ゲームオブジェクトを削除しておきます。

 これでキャラのゲームオブジェクトの完成です。
次は、お使いが完了した時点でこのオブジェクトを生成するようにする処理を実装していきます。


19.TapPointDetail スクリプトを修正し、お使い完了状態になった際に、Chara ゲームオブジェクトを生成する処理を追加する

1.設計


 お使いが完了したことを受けて、先ほど作成したキャラのゲームオブジェクトを、行き先のゲームオブジェクトの上に生成する処理を実装します。

 ポイントは、このキャラのゲームオブジェクトが生成されると同じタイミングで、次の行き先のボタンをタップできる状態に戻しておくことです。
キャラのゲームオブジェクトは行き先のゲームオブジェクトの上に重なって表示されるようにしておきますので、
このゲームオブジェクトが破棄されると、その下にある行き先のゲームオブジェクトがゲーム画面に見えるようになります。
この時点で行き先のゲームオブジェクトのサイズや画像を元の状態に戻しておくことにより、次のお使いが始められるように設計を行います。


2.TapPointDetail スクリプトを修正する


 ゲームオブジェクトを生成するためには、生成したいプレファブ状態のゲームオブジェクトの情報を変数に代入しておく必要があります。
また、生成する位置についても検討を行う必要があります。今回は、行き先のゲームオブジェクトの上に生成を行いたいので、外部の位置情報は不要です。
btnTapPoint ゲームオブジェクトの Transform コンポーネントの情報をそのまま利用すれば問題ないでしょう。

 生成するゲームオブジェクトと位置情報がわかったら、それを利用した生成処理と、生成処理を実装する位置を考えます。
生成処理の内容としては、先ほども検討したように、生成したいゲームオブジェクトの変数と、このゲームオブジェクトの位置情報を利用して生成を行います。
TODO 機能を利用して処理を記述したい場所を記してありますので、その位置にメソッドの呼び出しを記述します。


TapPointDetail.cs

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


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


3.btnTapPoint ゲームオブジェクトの設定を行う


 新しく SerializeField 属性で宣言している変数が1つインスペクターに追加されていますので、
そちらに情報をアサインして登録を行います。

 変数には CharaDetail ゲームオブジェクトのプレファブをドラッグアンドドロップしてアサインします。


インスペクター画像



 以上で設定は完了です。


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


 繰り返しになってしまいますが、処理を実装してデバッグを行う際には、必ずどの処理を制御を確認するのか、理解をした上でゲームを実行してください。


<実装動画 ,使い完了した際に、キャラのゲームオブジェクトを生成する>
動画ファイルへのリンク


<実装動画◆.ャラのゲームオブジェクトをタップすることでゲームの1サイクルが終了する>
動画ファイルへのリンク




 以上でこの手順は終了です。
 
 次は 手順11 −ヘルパークラスの作成− です。

コメントをかく


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

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

Menu



プログラムの基礎学習

コード練習

技術/知識(実装例)

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

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

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

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

レースゲーム(抜粋)

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

3D脱出ゲーム(抜粋)

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

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

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

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

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

VideoPlayer イベント連動の実装例

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

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

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

private



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

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