アニメやゲーム記事 プリキュア関連

notebook

IT UNITY

[UNITY]カードゲーム製作⑥

更新日:



YOUTUBEのHOWTO動画を参考にオリジナルのカードバトルをUNITYで製作するシリーズ第6回。

前回は敵ターン時に手札から1枚を選択して場にセットする処理まで実装しました。今回もひきつづき参考動画をもとにゲーム製作を進めていきます。

 

1.カードの攻撃

今回は双方が場に出しているカードから1枚を選択して、それぞれ戦わせる処理を実装します。戦ういっても攻撃力分の値をHPから引き算するだけなので、ポイントとしてはいかにカードをそれぞれ選択して処理させるか?・・・ということになります。

 

1)実施内容

・CardModelクラスに「Damege」メソッドと「Attack」メソッドを実装

・GameManagerクラスの「EnemyTurn」メソッドに場に配置しているカードを取得する処理を実装

・GameManagerクラスに「CardBattle」メソッドを新規追加。「Attack」メソッドをCallする処理を実装

 

2)終了時の状態

今回は裏側の処理実装のため画面上からは変化がわかりません。動画の通り操作した場合、裏では戦闘処理が実施されお互いのHPが減っていることをコンソールログにて確認しています。今回のサンプルでは双方HPが3あったものが1に減っていることが分かります。

 

2.ステータス変更反映

戦闘処理の確認がデバックログ上での確認となっていましたが、その結果を画面上に反映する処理を実装します。

 

1)実施内容

・「CardView」クラスに「Refresh」メソッドの実装→HPとAT値の更新

・「CardModel」クラスに「isAlive」プロパティを追加→戦闘時にHPが0になったらプロパティをFalse(死状態)

・「CardController」クラスに「CheckAlive」メソッドの実装→カードが死亡状態ならばオブジェクト破棄、生きていれば「Refresh」メソッドをCall

・「GameManager」クラスの「CardsBattle」メソッドで「CheckAlive」メソッドをCall

 

2)終了時の状態

配置したカード右下がHP値でターンエンド時に3→1に削減されている。2回目のターンエンドでHPが0を下回るため該当カードは場から消えるようになっている。

 

3.Playerカードの攻撃

現状ではプレイヤーがターンエンド後に敵ターンで相手が攻撃することで互いのHPが減る処理とカードの生死判定を実装していました。今回はプレイヤーが攻撃する処理の実装となります。

 

1)実施内容

・「AttackedCard」クラスの新規作成

・「AttackedCard」クラスの「OnDrop」イベントにドラッグ&ドロップ時の処理実装

・「GameManager」クラスのインスタンスをシングルトン化

 

2)終了時の状態

プレイヤーターン時にドラッグ&ドロップによる攻撃が可能になりました。

 

参考サイト

本記事についてはほぼ「Unityゲームスタジオ スタジオしまづ」さまの動画を参考に作業しております。本記事を元に興味をもった方がおりましたら、YOUTUBEサイトのほうで「登録」されてはいかがでしょうか?

 

 


GoogleAdsense

<script data-ad-client="ca-pub-5019825310139846" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>

GoogleAdsense

<script data-ad-client="ca-pub-5019825310139846" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>

おすすめ記事

-IT, UNITY
-

Copyright© notebook , 2024 All Rights Reserved Powered by STINGER.