まず、ステートの表示位置について変更を加えようと思ったのがきっかけです。
ステートの位置については、rpg_sprites.jsにある
コード: 全て選択
Sprite_Enemy.prototype.updateStateSprite = function() {
this._stateIconSprite.y = -Math.round((this.bitmap.height + 40) * 0.9);
if (this._stateIconSprite.y < 20 - this.y) {
this._stateIconSprite.y = 20 - this.y;
}
};
コード: 全て選択
Sprite_Enemy.prototype.updateStateSprite = function() {
this._stateIconSprite.x = 32;
this._stateIconSprite.y = 0;
}
};
エネミーはステートアイコンの表示数が1つに限られており、2つ以上のステートを表示する際はアイコンが切り替わることで対応しています。
これを、複数並べて表示(※アイコン位置2.jpg参照)するにはどこを改変すればいいのか、朝まで考えて分かったのは
コード: 全て選択
Sprite_StateIcon.prototype.updateIcon = function() {
var icons = [];
if (this._battler && this._battler.isAlive()) {
icons = this._battler.allIcons();
}
if (icons.length > 0) {
this._animationIndex ++;
if (this._animationIndex >= icons.length) {
this._animationIndex = 0;
}
this._iconIndex = icons[this._animationIndex];
} else {
this._animationIndex = 0;
this._iconIndex = 0;
}
};
実際、this._animationIndexの値を増やせば、複数のステートが付加されても切り替わらなくなったのですが、ただ切り替わらなくなっただけで、表示される数は相変わらず一つでした。
私の脳みそではここが限界のようです。
エネミーのステートアイコンが複数の場合は並べて表示されるようにするには、あと何が足りないのでしょうか?
ご教授いただければ幸いです。
ちなみに、以前の記事でトリアコンタンさんがプラグインを提供されていたので、これを使わせていただこうとは思っていますが、
後学のためにも構造を知っておきたいので、ぜひともよろしくお願いします。
viewtopic.php?t=3226