【Unity】ゲーム制作素人がソリティアを作ってみた

Unity

こんにちは!ぜろはちです。

今回、Unity初心者でありますが、暇つぶしに最適なソリティアを制作したので紹介します。

制作方法を簡単に解説しますので、私と同じぐらいのUnity初心者の方は参考になるかなと思います。

Google Playにも登録出来たので、興味がある人は是非ダウンロードして遊んでみて下さい。

Google Play で手に入れよう

ただし、オリジナリティはゼロであることを始めに言っておきます。

この記事はこんな人におすすめ!

  • Unity初心者の人
  • Unityでカードゲームを作ってみたい人

まずはソリティアを遊んでみよう!

今回、制作したソリティアをWebGL版にしたので遊んでみて下さい。

新しくページを開く場合はこちら

Google Playにも登録していますので、Androidユーザーの人は下記リンク先からインストールしてみて下さい。

Google Play で手に入れよう

iOS版は無いのでご了承ください。

制作方法のポイント

ソリティア制作方法のポイントを解説していきます。

解説するにあたり、山札、組札、場札という用語が出てきますが、下図の定義とします。

カードPrefabを準備する

カードスプライトの作成

カードの画像を用意して、スプライトエディタで52枚のカード + 裏面に分割し、スプライトを作成します。

①Texture TypeをSprite(2D and UI)に変更。②Sprite ModeをMultipleに変更。③Sprite Editorをクリック。

Sprite Editorで52枚のカード表面とカード裏面に分割し、スプライトを作成。

カードPrefabを作成

カードPrefabは、52枚のカードをすべて作成するのではなく、カード裏面のみを作成します。

カードを表面にするときは、スプライトを差し替えるようにします。

カード状態を設定する

52枚のカードがそれぞれどんな状態にあるか記憶するため、スクリプトを追加し、変数を設定します。

カード状態

  • cardPosX, cardPosY: カードの位置 (山札、組札、場札のどこの位置に置かれているか)
  • mark: マーク(ハート、ダイヤ、クローバー、スペード)
  • num: 数字(1~13)
  • frFlg: 表裏の状態
  • layer: カードが置かれている高さ

カードクリック時の処理を追加

カードPrefabにEvent Triggerコンポーネントを追加して、カードをクリックしたときの処理を追加します。

Event Triggerの設定方法は、別記事で解説していますので、こちらを参照下さい。

カードの上でマウスボタンを押したときの処理 (OnClickCard)

山札の上でマウスボタンを押した時

カードを3枚めくります。

場札の上でマウスボタンを押した時

一番上のカードかつ裏であれば表にします。

カードをマウスドラッグしたときの処理 (OnDragCard)

表のカードをマウスドラッグした時

マウスクリック前の位置を記憶した後、下に繋がっているカードすべてを移動させます。

マウスボタンを離したときの処理 (UpClickCard)

マウスボタンを離した場所が場札かつ、移動中のカードとマーク色違いで数字が1つ大きいカードの上の場合

移動中のカードを、マウスボタンを離した場所に移動完了させます。

マウスボタンを離した場所がカードが1枚もない場札列かつ、移動中のカードが「K」の場合

移動中のカードを、マウスボタンを離した場札列に移動完了させます。

マウスボタンを離した場所が組札かつ、移動中のカードとマークが同じで数字が1つ小さいカードの場合

移動中のカードを、マウスボタンを離した場所に移動完了させます。

ゲーム開始したときの処理を追加

  • 52枚のカードを山札に裏返して置く
  • 52枚のカードをシャッフルして山札に置き直す
  • 28枚のカードを場札に並べる
28枚のカードを場札に並べる処理

グラフィック・ユーザーインターフェイスの作成

  • タイトル画面を作成し、ゲーム画面に移行する処理を作成する
  • リセットボタンを作成し、ボタンを押したらゲームをやり直す処理を作成する
  • やり直しボタンを作成し、ボタンを押したら1回操作を戻す処理を作成する
  • ゲーム開始からの時間表示を作成する
  • 操作回数の表示を作成する
  • ゲームクリアしたときのアニメーションを作成する
タイトル画面
リセットボタンとやり直しボタン
時間計測と操作回数

まとめ

以上、私がUnityで制作したソリティアの紹介でした。

オリジナリティはゼロですが、ソリティアとしては立派に完成させていますので、暇つぶしにはなると思います。私も電車で移動中などは、自分で作ったソリティアで遊んでいます。

Google Playにも登録出来たので、興味がある人は是非ダウンロードして遊んでみて下さい。

Google Play で手に入れよう