【解決済み】画像固定プラグイン「TDDP_BindPicturesToMap」についての質問

青猫_
記事: 42
登録日時: 2017年11月07日(火) 22:47

【解決済み】画像固定プラグイン「TDDP_BindPicturesToMap」についての質問

投稿記事by 青猫_ » 2017年11月25日(土) 01:17

いつもお世話になっています。
画像をマップ上に固定するプラグイン、「TDDP_BindPicturesToMap」についての質問です。

このプラグインは導入してプラグインコマンドで「BindPictureToMap 1 top」など入力するだけで、
画像をマップ上に固定できる公式プラグインです。
が、画像の表示位置が変数で取得した座標「このイベントの画面X」「画面Y」に設定していると、
表示位置が大きくずれてしまいます。

http://mvplugins.tordamian.com/plugins/ ... es-to-map/
ダウンロードページの説明を見ると、機械翻訳ですが
When you bind pictures to the map movement, the picture’s X and Y coordinates are relative to the top-left corner of the map, not the screen.
「画像をマップの動きにバインドすると、画像のX座標とY座標は、画面ではなくマップの左上隅からの相対座標になります。」
と、あるのが原因であると思われるのですが・・・・・・
このプラグインを使用して、移動するイベントの位置にピクチャを表示する方法はあるのか?
「画面ではなくマップの左上隅からの相対座標」を変数として取得する方法はあるのか、どなたかご存知ではありませんか?
最後に編集したユーザー 青猫_ on 2017年11月25日(土) 22:28 [ 編集 1 回目 ]

奏ねこま
記事: 702
登録日時: 2016年1月20日(水) 20:04

Re: 画像固定プラグイン「TDDP_BindPicturesToMap」についての質問

投稿記事by 奏ねこま » 2017年11月25日(土) 13:42

変数の操作のスクリプトで、

■「このイベント」の「マップ基準のX座標(ピクセル単位)」
this.character(0)._x * $gameMap.tileWidth()

■「このイベント」の「マップ基準のY座標(ピクセル単位)」
this.character(0)._y * $gameMap.tileHeight()

「このイベント」ではなく「プレイヤー」にしたい場合は character(-1)
イベント番号を指定したい、例えばイベント1番の場合は、 character(1)
に置き換えてください。
青猫_
記事: 42
登録日時: 2017年11月07日(火) 22:47

Re: 画像固定プラグイン「TDDP_BindPicturesToMap」についての質問

投稿記事by 青猫_ » 2017年11月25日(土) 22:27

>奏ねこま様
素早い回答ありがとうございます!
教えて頂いたスクリプトを使い、想定通りに画像を表示する事ができました。

ですが、スクリプトそのままだと、画像がやや表示したい場所の左上にずれてしまいました。
これは画像の原点を「中央」に設定しても、その「中央の点」がイベントタイルの左上に合わせられる為だと思われます。
そこでタイルは一枚48ピクセルなので、その半分の数値「+24」を教えて頂いたスクリプトの末尾に付け加える事で、
画像とイベントの中央点を一致させて表示できた事を合わせて報告いたします。
Xの変数「this.character(0)._x * $gameMap.tileWidth()+24」
Yの変数「this.character(0)._y * $gameMap.tileHeight()+24」(こんな感じです)
差し出がましいと思いますが、同じ疑問を抱いた人がこのページにたどり着いた際の参考になればと、記載いたします。

主人公や他のイベントの座標の取得方法までありがとうございました、
おかげでこのプラグインを使ったパズルやミニゲーム、演出など様々な応用が思いつきました。
本当に感謝いたします。

“MV:質問” へ戻る