この記事は、
ツクールフォーラムアドベントカレンダー2021に向けて書いたよ。
というわけで、RPGツクールMZ でジグソーパズルを作りました。
63ピースです。(早い人なら10分以内に完成できるかな)
アツマール終了につき公開終了しました。
プラグインとかスクリプトを使えば簡単に作れるのですが
今回は、イベントコマンドのみで頑張ったよ。
ごめん、うそでした。
右クリックが押されたかどうかは、スクリプトで判断してるだよ。
キーボード操作のみだったら、決定キーで選択と配置にすればよかったんだけど
マウスやタップも込みだったので、配置はキャンセルキーに割り当てました。
マウスで操作しながら、ESCキーで配置すると効率がいいです。
若干細かいので、拡大機能があればよかったかなー感だけど
スクリプトやプラグインが必要なので、要望がくるまで放置。(おいw)
ははは。来なくても気が向いたら追加します。気が向いたら。
★ざっくりとした仕様の説明★
イラストは、タイルBとかに配置してます。
63個のパーツはすべて、同一のコモンイベントで動いています。
セルフスイッチと「このイベント」を多用しています。
パーツを選択すると、矢印が消えるのは、プレイヤーを透明にしているだけです。
パーツを並列処理でプレイヤーに追随しています。
赤い枠もパーツと一緒に追随してます。
キャンセルは、ゲームの制御用イベントを並列処理させて取得しています。
その並列処理の中に、1から63までのイベントの現在位置を判定しています。
判定には、リージョンを1から63まで使用しています。
パーツを選択したときのコモンイベント
◆条件分岐:ピース持ち中がOFF
◆SEの演奏:Cancel2 (90, 100, 0)
◆移動ルートの設定:#065
: :◇透明化OFF
◆透明状態の変更:ON
◆変数の操作:#0008 プレイヤーX = プレイヤーのマップX
◆変数の操作:#0009 プレイヤーY = プレイヤーのマップY
◆スイッチの操作:#0007 ピース持ち中 = ON
◆変数の操作:#0007 前の歩数 = 歩数
◆セルフスイッチの操作:A = ON
◆
:分岐終了
なんでセルフスイッチを使ってるかというと
63個もスイッチ設定するのしんどいなーって思ったから。
では、スクリプトを使わずにセルフスイッチをどうやってOFFにするかだけど
まあ「このイベント」にやってもらうしかないわけで
セルフスイッチをOFFにするためのページもあります。
(スクリプトを使えばいいのに案件)
キャンセルボタンが押される
↓
ゲーム制御用のイベントが感知し、全イベント共通のスイッチをONにする。
↓
1~63全てのイベントの3ページ目が実行され、63個のセルフスイッチがOFFになる。
さて、選択されて動かせるようになったイベントは
以下のコモンイベントで、プレイヤーに追随します。
もちろん、並列処理です。
◆変数の操作:#0001 歩数 = 歩数
◆条件分岐:歩数 ≠ 前の歩数
◆変数の操作:#0007 前の歩数 = 歩数
◆変数の操作:#0008 プレイヤーX = プレイヤーのマップX
◆変数の操作:#0009 プレイヤーY = プレイヤーのマップY
◆イベントの位置設定:このイベント, ({プレイヤーX},{プレイヤーY})
◆
:分岐終了
プレイヤーの絵を変えた方が、きれいに動くけど
そうすると63ピース分の歩行グラフィックを作らなきゃなので
面倒だったんだよ。
まあ、パーツをイベントの位置変更じゃなく、移動ルートの設定で
動かせば、解消されるんだろうけど
その動作を組むのも面倒だったんだね。
そう、この仕様は私がただただ楽にゲームを作るための仕様なのです。
パーツが同一のコモンイベントで動くようにしてあるのも私が楽するため。
作る工程を極力省いて、省エネ制作しているのだ。
どこまで省エネさせるかは、作者の感性によるところが大きい。
みんなは丁寧に作ってもいいんだよ。
というお話でした?
なお、このゲームは、
一週間でゲームを作ろうの会にも参加しています。
第18回の締め切りは、2021/12/25!! まだ間に合うよ!
[0回]
PR