簡単なカードゲーム制作の第6回目を進めていきます。今回は「カードの画像を置き換え」です。
はじめに
今回は第6回目です。第1回目は下記から。
ゲーム作成開始
何となく動くようになってきたので、見た目を整えていきます。現状のカードは下記のようにデフォルトのスプライトに数字が割り当ててあるだけです。

じゃんけん風の画像を作成
今回はじゃんけんカードゲームなので「じゃんけんの画像」を作成します。適当に検索して加工など自由に使って良いものを探してきました。結構古いサイトの様ですが、コチラ⇒素材
画像をダウンロードして、200px×200pxの白背景に画像を貼り付け。AssetsのImagesフォルダ内に入れます。

画像をスクリプトで置き換えテスト
まずはスクリプトで画像の置き換えが出来るかテストです。Operatorクラスに「Sprite変数」と「画像の置き換え」を追加。

抜き出したソースは下記。試しにカードを「グーの画像」にしてみます。
public Sprite m_Sprite_gu; SpriteRenderer m_SpriteRenderer; m_SpriteRenderer = prefab.GetComponent<SpriteRenderer>(); m_SpriteRenderer.sprite = m_Sprite_gu;
OperatorのSprite_guにグーの画像をセット。

試しに実行。全てがグーの画像になれば置き換えテストはOK。

次に、数字の1がグー、2がチョキ、3がパーとなるようにスクリプトを変更。

ソースを抜き出すと下記のような感じ。
public Sprite[] m_Sprite; SpriteRenderer m_SpriteRenderer; m_SpriteRenderer = prefab.GetComponent<SpriteRenderer>(); m_SpriteRenderer.sprite = m_Sprite[iNumber - 1];
画像は配列にして、「数字-1」に画像の要素を割り当てます。グーは数字の1、配列要素としては0。チョキは数字の2,配列要素としては1と言った感じですね。

これで実行。下記のように画像が良い感じになればOK。

テキスト数字を消す、画像位置変更
次はこれまで表示していたテキストの数字を消して、カード内部に保有するようにします。
CardScriptのクラスにカードナンバー用の変数を追加。

次にテキストに設定していた数字を追加した変数に変更。変更箇所は3か所。
まずはOperatorでカードを配った時。

あとは、自分がカードを選択した時、敵のカードが選ばれた時です。

次にカードのサイズが変わったので、表示位置を少しずらします。

下記のようになればOK

これで何となく良い感じに。次で一応ゲームっぽい完成形にしていきたいです。