Appendix

広告

Latest Entries

公開延期

今日公開しようと思ったのですが、不具合見つかったりまだ追加したい機能があったので見送りです。

だいたいこんな感じの作ってます。

ミニマップ標示 カーソル操作

簡単に言えば、ミニマップ上にカーソルを表示させ、ミニマップを動かせる機能です。

イベントの作り方によっては、ミニマップ上にマーカーをつけたり、
拡大率を変えたりといったこともできると思います。

オプションのくせに、ミニマッププラグイン本体と同じくらいの内容です。


というわけで、今週書けることはこれくらい。

web拍手 by FC2

プラグインの更新

下記のプラグインを更新しました。

ミニマップ標示 マッピング

ご報告いただいた「ロード時にマッピング情報がクリアされてしまう不具合」を修正しました。

配列に新しい変数つけても、セーブデータに保存されないんですね。

JavaScriptって便利だなあとか思ってましたが、さすがにこれはやってはいけないようでした。



いつぞやの話の続きで、「マッピング」プラグインを作る際、
移植ではなくちょっと特殊なスクリプトを組んだのでそのお話。

マッピングの移植自体は結構簡単にできました。
(マップが切り換えれる機能に対応するのにちょっと躓いたくらい)

が、実際に動作させてみると処理がすごく重い

PCで動作させててもフレームレートの低下が感じるくらいだったので
スマホとかではさらにひどいことになりそうなので、対策は必須でした。


実際、マッピングはかなり面倒な処理をしています。


まず、元々のミニマップ描写自体がこんな感じ。
170210b.jpg
元の画像を4倍にした画像を別に作ることで、マップのループに対応しています。

この場合、画像Aだけでなく画像Bも保持しておかなくてはならないため、メモリを多く消費します。

その代わり、処理は軽いです。


が、マッピングの場合はこれが処理を重くする原因になってます。

マッピングプラグインは歩いてマップを書き換えるたびに、
マッピングされた画像を4倍にする処理を行っています。

VXAceでは気にならない程度でしたが、MVでこれは重い処理のようです。


というわけでこれに対処するため、以下のような構造に変更。
170210c.jpg
正確には、何も表示しない親スプライト1つと、画像を表示する4つの子スプライトを使ってます。

スプライトの数が増えた分、処理はちょっと重くなりますが、4倍にする作業が発生しません。

さらには画像Bも必要ないため、メモリを食いません。



でも言うは易し、4つのスプライトを一つの画像のように扱うのは計算式が大変。

拡大縮小、原点移動など、対応しなければいけないことが山ほどあります。

VXAce版を作る際もこの構想はあったのですが、手間がかかりすぎるということでやめたくらいです。



なので処理が重いまま諦めようかと思ったのですが、
ふとスプライトの構造を見て簡単に解決できることに気づきました。

上にもちょっと出てますが、MVのスプライトには親子関係というものがあります。

そして、「子は親の拡大率、不透明度、原点位置等が反映される」
という特徴があります。

つまりは諦めていた理由のほとんどが親子関係を作るだけで解決するのです。


そして唯一対応しなければならないのが表示範囲ですが、これもあっさりと解決。

Spriteクラスを見ていたら_refreshメソッド内で必要な計算のほとんどが行われており、
ここをちょっと改変するだけで対応できてしまいました。



MVになって面倒になったと感じることが多かったのですが、
めずらしく楽ができたというお話。

もし、ループする画像を作りたい方がいたら、これを参考に作ってみてください。

web拍手 by FC2

プラグインの更新

下記のプラグインを更新しました。

ミニマップ標示
ミニマップ標示 マッピング

不具合修正と要望のあった機能を追加しました。


▼追加した機能の説明

メニュー画面や戦闘画面に移行する際にミニマップを非表示にする機能を追加しました。

プラグインのパラメータで設定できます。


それからVXAce版にあったミニマップにフレーム画像を表示できる機能を追加しました。

ただし、プラグインコマンドから画像ファイルを指定する都合上、
デプロイメントする際の「未使用ファイルを含まない」機能に対応できません。

一応対処法として、使用しないコモンイベントで「ピクチャの表示」を設定することで、
使用したファイルにすることができます。

ご注意ください。



コメントへのお返事です。

> 頭中下層 さん
詳細ありがとうございます。

更新内容にも書かれておりますが、「上層タイルの2層目が反映されていない」のが原因だと気づき、
修正しました。

VXAceにはなかった機能なので、移植する際に対処し損ねてました。

この修正でいただいたコメントの5番は反映されるようになったはずです。

まだ解決しない、またはおかしな動作があるようでしたらコメントかメールをいただけると幸いです。

web拍手 by FC2

Appendix

プロフィール

木星ペンギン

Author:木星ペンギン
ほぼツクールのことばかり書いてます。
名前は↑から取りました。
木製ですが木星です。
トカゲは関係ありません。

ゲーム

  • 箱庭の勇者たち(体験版)
  • アクイ ト アイ
  • ぼくらの大革命!
  • 勇者がやらねば俺がやる!
  • 3Turn Battle!
  • 3TurnBattle!2nd 体験版

メールフォーム

名前:
メール:
件名:
本文: