ページ 11

エネミー画像の幅を取得する方法

Posted: 2021年9月08日(水) 03:06
by シンゴビッチ
現在、自分のゲーム用にエネミーのランダム出現と、エネミーが仲間を呼ぶプラグインを作っています。

つきましてはエネミーを並べたり、仲間を呼ぶ際に画面上に出現する余裕があるのかを判定するのに、エネミー画像の幅で判定したいです。自分のゲームはFVなので高さは今のところ必要ではなさいです。

とりあえず暫定でmetaタグとしてメモ欄に幅を入れるという手段を取ってますが作業工数や今後ゲーム完成後にMZ対応してプラグインとして公開することを考えると直接幅を取ることを考えたいです。

ちなみに仲間を呼ぶプラグインはHIME_EnemyReinforcementsの関数を一部使わせてもらってます。ランダムエネミーはKZR_RandomTroop.jsのことは知ってますが、HIMEさんのプラグインと競合するので、独自開発してます。

Re: エネミー画像の幅を取得する方法

Posted: 2021年9月08日(水) 09:01
by Plasma Dark
ランダム出現の要件がわからないのでアレですが、 SupponREE.js やその改造プラグインでは不足でしょうか。

http://supponweblog.blog88.fc2.com/blog ... ry-13.html

https://github.com/elleonard/RPGtkoolMV ... pponREE.js

後者はコードを整理してある程度読みやすくしています。
敵画像の横幅合計を計算しているコードもあるので、こちらでは不足の場合にも参考にはなるかと思います。

Re: エネミー画像の幅を取得する方法

Posted: 2021年9月08日(水) 09:23
by シンゴビッチ
〉PLASMA DARKさん

回答ありがとうございます。

コード: 全て選択

this._enemies.push(new Game_Enemy(enemyId, 0, 0));
の所でx座標を0にして後からSpriteset_Battleでエネミー画像の座標設定をして生成すると、あとからエネミーが仲間を呼んだときにHIME_EnemyReinforcementsプラグインとの競合で仲間を表示したときに全エネミーが0座標に移動してしまうバグが発生するので先にxを定義するようにしたいです。申し訳ございません。

Re: エネミー画像の幅を取得する方法

Posted: 2021年9月08日(水) 21:35
by Plasma Dark
全エネミーが0座標に移動してしまうバグが発生する
少なくとも、DarkPlasma_SupponREEを入れた状態で HIME_EnemyReinforcements のプラグインコマンドをそのまま使用した場合に再現はしないですね。
このプラグインの増援コマンドは、参照する敵グループの座標を引き継ぐので、ただ併用した場合はたいてい敵グラが重なってしまいますが、0に移動するのは何かがおかしいです。

HIME_EnemyReinforcements 1.3のプラグインコマンドをそのまま利用しているわけではないとすると、今開示されている情報だけではお望みの回答に到達できない可能性があります。

まずは要件から整理されてみてはいかがでしょう。
以下の前提で考えていましたが、これは正しいでしょうか。

1. 戦闘開始時、敵グループの構成がある程度ランダムに決定される(SupponREE等を利用するか自作するかは重要ではないので一旦置いておく)
2. 戦闘中、敵の「仲間を呼ぶ」行動により、画面上に新たな敵を配置する余裕があった場合に、特定の敵を新たに出現させる
3. 呼ばれる敵はランダムではなく、「仲間を呼ぶ」行動をした敵の種類に関わらず、固定の敵キャラ

要件を正確に書き出した上で、現在の試行錯誤の状況も中途半端にではなく、他人が理解できる形で提示されることを推奨します。