ゲーム制作って大変だよね。おれも昔から何度も挑戦しては未完成のまま投げ出すのを繰り返してて、今はもう完成させようって気は全然無いんだけど、最近無性にゲーム制作“ごっこ”をしたくてウディタをいじって遊んでいる。
それでマップ作り始めたら楽しくなってしまい、ちまちまマップだけ作ってるんだけど。
扉の開閉アニメーションをウディタでどうやったらいいか、という知見があんまりネット上にないように思えたので、自力で到達した方法を公開してみることにした。
ちなみに今回はぴぽや倉庫さんで配ってる「ウディタ向け(非専用)32×32マップチップ素材」に付属している扉アニメーションファイルを使うよ。これはキャラチップとして設定するタイプ。
このページ見ててウディタを知らないってことはないと思うんだけど、もし知らない人がいたら以下のページから無料でダウンロードできるのでお試しあれ。RPGツクールシリーズと機能的には遜色ないRPG製作ツールだよ。
簡単! 扉の開閉アニメーションのさせ方
今回はキャラチップ型なので、マップにイベントとして設置するのはすごく簡単。そこまではできるって人も多いと思う。
アニメーションさせるにはって悩んでいる人もいるかと思うけど、実はすごく簡単なんだ……。
ドアを設置する
まずイベントを作成してドアを設置する。チップでドアを選び、閉じている状態の画像を選択。オプションの「待機時アニメ」をオフ、「方向固定」をオン、影グラフィック番号を「影なし」にするのを忘れずに。
今回は決定キーで開け閉めするので、起動条件は「決定キーで実行」。それと「セルフ変数0が0と同じ」を条件にしておく。
触っただけで開けたい人は起動条件を「プレイヤー接触」にしよう。
ドアを開けるイベントを作成する
セルフ変数0が0のとき、ドアが閉じている状態。セルフ変数0が1になったらドアが開いている状態と定義する。
決定キーを押すとドアが開いた状態に変化し、ドアがアニメーションする。(効果音も鳴らしたかったら鳴らしていい)
なのでまず「変数操作」でこのイベントのSelf0に1を代入する。
続いてアニメーションを設定する。
ドアのアニメーションを設定する
ドアのアニメーションは「H イベント制御」の右上のほうにある「■キャラ動作指定」から行う。
このドアチップは待機時のアニメーションでドアの開閉ができるようになっている。つまり待機時アニメーションを任意に動かせばドアが開いたり閉じたりする。
正面から見てドアが閉じている状態はパターン1、開きかけの状態はパターン2、開いている状態はパターン3。
なのでウェイトを挟みながらパターン2→パターン3と動かすとドアが開く。
ただしこの動作指定、変数操作との兼ね合いでドアが予期せぬアニメーションをすることがあるので、イベント起動直後にまずパターン1を初期状態として設定する必要がある。
それとドアが開いた状態になったら「すり抜けON」にしておくといい(すり抜けONはここで設定しなくてもいいとは思うんだけど)。
設定例
ここまで設定したらドアが開きそうに思うじゃん?
開くけど、開いた後に消えてしまうので、イベントをもう1ページ設定する必要がある。
開いた状態のドアを作る
イベントに「>新規ページ」を押して、ページ2を作る。
チップに開いた状態のドアを設定し、「セルフ変数0が1と同じ」を条件にしておく。オプションの「待機時アニメ」をオフ、「方向固定」をオン、影グラフィック番号を「影なし」にするのを忘れずに。
(前面表示、接触範囲拡張は個人的な好みでこう設定してあるが、どうするかはおまかせ。)
これでセルフ変数0が1になっていると開いた状態のドアが表示されるようになった。
ここまでやったらドアが開くはず。試してみよう。処理の順番を変えたり前面表示を使ってみたり、いろいろ試して理想のドア開閉を目指そう。
おまけ
ページ2のイベント内容を追加すると、ドアを閉じることもできるようになる。閉じたい人はどうぞ。要領は開けるのと同じで(パターンは逆回し)変数に0を代入するだけ。
上手く起動できないときは「接触範囲拡張」を2ぐらいにしておくと起動しやすくなる。(上の画像でそうなってるのはおれは閉じたいから……)
マップチップの場合はどうする?
ドアがキャラチップの場合のアニメーション方法を解説したけど、マップチップの場合もあると思う。
そのときは「H イベント制御」じゃなく「F チップ処理」でマップチップの上書きをしたらできるんじゃないかな……たぶん。やったことないのでわからないんだけど。
おわりに
ゲームにするでもなくただマップ作り続けてるんだけど、楽しいね……。マップ作りを楽しめる日がくるとは思わなかった。表現したいものがあると楽しめるものらしい。
ゲームにする予定はないので、のんびり遊んでいこうと思う。(ゲーム内容を考えついてないので……)