unity キャラクター選択の作り方

  • このエントリーをはてなブックマークに追加
  • LINEで送る

unity キャラクター選択の作り方 ソシャゲ

パーティ編成を作りたい

手に入れたキャラクターを選択し、戦術戦略をたてるのもゲームの楽しみ方の一つだ。

以前の記事で作成した、キャラクターを用い

デッキを作成。デッキの内容を変更できるようにする。

もちろん、ユーザー情報同様に端末の変更や他プレイヤーからの参照に対応するため、

デッキ情報、キャラクター情報もサーバーと同期するように作成する。

  • デッキの定義
  • 隊列の順番定義
  • デッキ選択画面
  • キャラクター選択画面
  • 同期処理

 

デッキの定義

インムスでは、手持ちのキャラクターを選択し、予め6グループ6体ずつのデッキとよばれる

パーティ編成にてゲームを行う。

デッキは、ゲーム開始前にどれを使用するか選択することができる。

キャラクター属性を定義しているため、属性間の有利不利を作成し、ゲームの戦略性を楽しんでもらうのが狙いだ。

ゲーム時デッキは1つしか使用できない。同じキャラクターを複数のデッキで使用して良いというルールのもと実装した。

 

 

隊列の順番定義

デッキの中でも、隊列をくみ先頭から最後尾までならび変えができるようにした。

ゲーム中の敵攻撃、効果や確率に利用する。

というわけで、今回は個別にデッキのテーブルをは、作らすに

手持ちのキャラクターテーブルのカラムに0番から5番までの6カラムを追加し、

その中に、デッキ入りしていれば隊列番号を入力してデッキの編成となるように構成した。

csvで表現すると下記図のような感じ。

ゲーム開始時の初期カードの登録時はすべてのデッキに0(先頭)を入れて空のデッキを作らないようにした。

デッキ番号が空欄の場合は、デッキに登録されていない状態。もちろん、同一のデッキ番号にたいして同じ値が入る矛盾が発生するが次のデッキ選択画面の実装によって回避される。

 

デッキ選択画面

上記の画像は、デッキ選択画面→ (1/6)をパネルごとスライドしてデッキの選択を行う。

横スクロールのListViewと 手を離した時のフィットによって表現した。

 

キャラクター選択画面

上部が選択できるデッキの空部分。トグル形式で選択後、デッキに採用できるキャラクターまたは、入れ可能なキャラクターを有効化する仕様(選択出来ない場合はグレーアウト)

インムスでは、キャラクターレベルの他にユーザーのレベルを定義し、デッキコストを少しずつ上昇させることで

採用できるカードの枚数や、強さの上限をもたせた。

キャラクターに限らずUIimageで表現するListViewの表示のスクリプトはこんな感じ

まず、リストのパネルを設定したら、基本子要素としてprefab化しておく。その際、子要素消を消さないで

スクリプトのstartにてdestroyを使って消す。→こうしておくと次に変更する際にどのprefabなのか見失わない。

リストビューの子要素のコピーを作成してリストビューに入れる。 高さ揃えて表示は完了。

子要素の中にボタン属性をもたせた場合は、リストビュー内にて onClick.AddListenerでボタン動作を設定する。(ラムダ式の部分)

 

トグルボタンの実装は、スクリプトが長くなったので割愛。

 

同期処理

ログイン時、プレゼントやドロップ獲得後にカードの内容に変化があった場合に

ロード処理を入れる。

処理方法は、loginのuser_idと同様。

その後、デッキの番号順にソートを行い。デッキを作成する

 

 

  • このエントリーをはてなブックマークに追加
  • LINEで送る

SNSでもご購読できます。

コメントを残す

*