上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
何故かRPGツクールVXの戦闘シーンでは従来のように背景を付ける事が出来ません。
代わりの今回の戦闘シーンの背景はマザー2のようにうねうねしたヤツで、確かにコレはコレで味があるのですが、それでも、背景が付けたい!って人は多いはず。
というか、従来からある機能を削ると言うのが解せません。

と言うわけで、スクリプトで作ってみました。
・・・我流で。

・草原
無題


・森
無題02


汚い上に適当な背景は自作CG(笑)です。


さて、この戦闘シーンの背景についてですが、ざっと仕様を考えて見ましょう。

せっかくデフォで用意されているうねうね背景、使わないのは勿体無い。けど、普通の背景も使いたい。と言うわけで、大雑把に以下のような仕様に決めました。

・フィールド:1枚絵の背景
・ダンジョン:VXのデフォ(うねうね背景)

うねうねのは、なんか閉塞感を感じたので逆にダンジョン専用にしてやろうと思ったのが発想の発端です。

と、仕様を決めるのは簡単ですが、問題が山積み・・・
戦闘の背景を、うねうねしたヤツから1枚のピクチャーデータに置き換えること自体は、それほど苦労しませんでした。
行き当たりばったりで適当にあちこち変えてみたら、背景に画像を表示することは出来たんです。

一番の問題がわりと簡単に出来たのであとは楽勝かと思ったんですが・・・


ツクールVXって、マップIDの取得&地形IDの取得無いんだね。


ツクール2000ではコマンドとしてあって、当たり前のように使っていたので今回もあると勝手に思ってた。これを使って

マップIDの取得→フィールドか否か?の判別
地形IDを取得→今居る地形が草原/森/山/海etc...の判別

と行く予定だったので早くも計画が崩れ去りました。

それでも、マップIDはエンカウント情報などと一緒に必ずどこかで持っているはず!とあちこち探し、なんとかスクリプトで取得することが出来ました。

でも地形IDは?そもそも設定するところが無いのに?

詰んだかと思いました。が、草原/森の切り分けは、少なくとも内部的にどこかで見ているはず。でないと、グラフィックの表示が出来ないはずだから。

と考え、色々調べてみたら「タイルID」なるものがあるらしい。

これだ!
と思い、けれど草原が、森がタイルIDがいくつなのか?なんてことは分からない為、実際にデバッグ用のウィンドウ造って調べてみました。

無題4

ほほう、草原はID2816なのね。
では森は・・・?

無題5

森も2816な件・・・・・・。

従って、このタイルIDとやらは使い物にならないのか?と思ったんですが、下の画像のとおり、海か否かは判別できる模様。
無題6



しかも、草原or森=2816、と言うわけではなく沿岸ではまたそのIDが変わる模様。
無題7
他に、上の2856のほか2824,2832,28502836,2817,2852...などなど色々ありました。恐らく、8方向のうちどの面が海に面しているか?によって変わると思われます。
16進になおすとそれぞれ0x0B28,0x0B0A,0x0B10などとなることから、0x0B00と言う情報が草原というのを表していると言えそうです。

こっちは問題ないんですが、それでも上記のタイルIDも草原と森で違いが無い・・・。

完全に終わった・・・と思いました。

じゃあ草原と森の違いってなんなの?何も無いの?
そうじゃないんです。森は、キャラが半透明になる。

この判別も内部的にどこかで必ずしているはず。よって、

・タイルIDに0x0B00が含まれる、かつ半透明フラグがオフ→草原
・タイルIDに0x0B00が含まれる、かつ半透明フラグがオン→森

上記のようにして判別が出来るはずです。

そして、ここまでの情報を組み合わせれば、ようやく前提条件で挙げた仕様を満たすスクリプトが作れるわけです。疲れた・・・

タイルID関連のところの調査は骨が折れました。ネットを参考にしようにも、特に触れられておらずみんなあまり必要としてないのかな?と思いました。(探し方が悪いだけかも・・・)

具体的なスクリプトの記載方法については、明日同じくらいの時間にアップしておきます。
今回は長いのでここまで。
スポンサーサイト

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

コメントの投稿

URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック

この記事にトラックバックする(FC2ブログユーザー)
powered by
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。