進歩報告
お疲れ様です
前回よりRPGツクールでカードゲームを制作しています
基本的なルールは前回をご参照ください
前回は手札の表示をやると言っていたのですが、カードやデッキができていないと話にならないので、先に仮のカードの作成とデッキ編集画面の作成を行いました。
こんな感じにしてみました!
内容としては・・・
・ストレージのカードをクリックしたらメインデッキに1から順番に表示される
・メインデッキ内のカードをクリックしたらメインデッキからそのカードが外される
・順番整理のボタンを押すと、メインデッキのカードがID順に詰めて整理され表示される
メインデッキ内の各カードのIDがわかれば対戦でも読み込むことができます
多分これでいけるんじゃないかなと思います。(バグチェックがまだ)
簡単な作り方説明
今回の内容は地道に作成しただけなので難しいことはほとんど行っていません
メチャクチャめんどくさいです
自分はスクリプトをあまり使わないので、スクリプトも使用していないです
スクリプト使えればもっと楽にできるかも・・・
やったこととしては
まずストレージにカードを表示する
この時ピクチャのボタン化プラグインでストレージの表示カードに以下を紐づけする
クリックした時・・・クリックしたらメインデッキにクリックしたカード表示
マウスをピクチャに重ねた時・・・重ねている間カード画像を表示し続ける
マウスをピクチャから離したとき・・・離したときカード画像を消す
クリックした時にメインデッキの1から順番に表示していく
まずクリックした時にカードを1から順番に表示するために、「メインデッキのnにカードが存在する」スイッチを30個作ります
ストレージの画像をクリックした時これらを使って条件分岐で判断します
・メインデッキの1にカードが存在するがOFF
メインデッキの1にカードが存在する=ON
クリックしたカードを表示する処理
イベントの中断
・メインデッキの2にカードが存在するがOFF
メインデッキの2にカードが存在する=ON
クリックしたカードを表示する処理
イベントの中断
・メインデッキの3にカードが存在するがOFF
メインデッキの3にカードが存在する=ON
クリックしたカードを表示する処理
イベントの中断
これを30個分行います
次にクリックした時どのカードをクリックしたか判断する必要があります
そのために各カードにIDを振ります。IDは変数を使用
育成カード1・・・1
サポートカード1・・・2
妨害カード1・・・3 とします
クリックした時、IDを調べる変数(名前:判別用ID)にクリックした画像のIDを代入する。
例えば育成カード1をクリックした時、判別用IDに1を代入する
次に判別用IDを条件分岐で全て比べます
判断用ID=1
メインデッキの1に表示されているカードのID=判断用ID
クリックしたカードを表示する処理(育成カード1)
判断用ID=2
メインデッキの1に表示されているカードのID=判断用ID
クリックしたカードを表示する処理 (サポートカード1)
判断用ID=3
メインデッキの1に表示されているカードのID=判断用ID
クリックしたカードを表示する処理(妨害カード1)
判断用IDが1なので育成カードが表示されます
そして、メインデッキの1に表示されているカードのIDがわかります(重要)
IDがわかれば対戦時にそのカードを読み込めばいいのでやりやすくなります(まだ対戦未実装だからもしかしたら穴があるかも・・・)
今回は3枚だけですが、当然カードの総数が増えれば増えるほど増えていきます
メインデッキの2に表示する時も同様にしていけば作成できます
ピクチャ番号変更を忘れずに
メインデッキからカードを外す
メインデッキにカードを表示したときに
ピクチャのボタン化プラグインで以下を紐づけします
クリックした時・・・クリックしたらメインデッキからクリックしたカードを消す
マウスをピクチャに重ねた時・・・重ねている間カード画像を表示し続ける
マウスをピクチャから離したとき・・・離したときカード画像を消す
クリックした時、その画像を消す必要があります
そのためには消すカードのピクチャ番号を知る必要があるのですが、ピクチャ番号の情報を取得する方法が調べてもわかりませんでした。
なのでピクチャのボタン化プラグインを使って行いました
このプラグインは実行したときにスイッチをONにする機能があります
例えばメインデッキの2のカードを消したいとき
クリックした時に「メインデッキの2をクリックした」というスイッチをONにします
その後、クリックした時のイベントが実行されます
この時に、そのイベント内で条件分岐で全て調べます
・メインデッキの1をクリックしたがON
メインデッキの1に表示されているカードのID=空欄用のID
メインデッキの1にカードが存在する=OFF
メインデッキの1をクリックした=OFF
メインデッキの1の画像を消す
※空欄用IDは全カード数より大きい数字
・メインデッキの2をクリックしたがON
メインデッキの2に表示されているカードのID=空欄用のID
メインデッキの2にカードが存在する=OFF
メインデッキの2をクリックした=OFF
メインデッキの2の画像を消す
・メインデッキの3をクリックしたがON
メインデッキの3に表示されているカードのID=空欄用のID
メインデッキの3にカードが存在する=OFF
メインデッキの3をクリックした=OFF
メインデッキの3の画像を消す
これをメインデッキ30全部行います
そして2番目がONになっていますのでピクチャ番号が判断できます
終了後はスイッチをOFFに変更するのを忘れずに!
カード整理機能
カードを表示して、消すことができるようになりました。
最後にカードを整理整頓する機能です
まず整理ボタンを押したとき
①下準備
・メインデッキのピクチャのボタン機能の紐づけを全て解除、
・メインデッキのピクチャを消す
・「メインデッキのnにカードが存在する」スイッチを全てOFFにする
②1~30のメインデッキのIDを比較して、小さい番号順にする
③メインデッキの画像を表示する
が実行されるようにします
②の比較ですが
方法としてはこれまた地道なんですが、
・1と30のIDを比較して、1が大きければ30と数字を入れ替える
・1と29を比較して1が大きければ29と数字を入れ替える
終わったら
・2と30のIDを比較して、2が大きければ30と数字を入れ替える
終わったら
・3と30のIDを比較して、3が大きければ30と数字を入れ替える
これを全て行います
ただし2と1、3と1、3と2は比較済みなので、省略できます
つまりだんだん比較数は減っていきますね
あとは画像を表示するだけです
これで動画のように動くと思います
以上となります
非常にめんどくさいです、他の簡単な方法もあると思うので参考までに・・・
今後の課題
デッキ編集画面は大体の形になりました
次は仮のカードを作成してデッキを保存してメインフィールドに反映できたらいいかなと思います
終わりに
今回はかなり大変だったので、すごく達成感があります
自分が忘れないように今回は内容をブロブに書きましたがこういうの需要あるのかな?
定期的にまた更新していくので興味がありましたら是非是非
ありがとうございました!