【解決済み】SVバトル中にアクターの立ち絵を表示したいです

maker-b
記事: 112
登録日時: 2016年3月27日(日) 22:03
連絡を取る:

【解決済み】SVバトル中にアクターの立ち絵を表示したいです

投稿記事by maker-b » 2016年7月03日(日) 23:15

お世話になっております。
いつも本サイトを拝見し、勉強させて頂いております。

掲題の件、ご相談でございます。
現在、yanfly様の
battle engine core
battle system ctb

を活用しております。

実現したいこと、というのは

アクターの順番が回ってきた段階で、
そのアクターの立ち絵を画面右に表示したい

ということです。

色々と試行錯誤をしておりますが、
端的にいうと、

アクターの順番が回ってきた段階で
コモンイベントを実行する(立ち絵を表示する)
アクターの行動が決定された段階で
コモンイベントを実行する(立ち絵を消す)

ということで解決出来そうですが、
JAVAに無知な私は、どのメソッドをオーバーライドすればいいのかわかりません・・・・

どなたか、お知恵を拝借出来ませんでしょうか?
最後に編集したユーザー maker-b on 2016年7月06日(水) 23:01 [ 編集 1 回目 ]

maker-b
記事: 112
登録日時: 2016年3月27日(日) 22:03
連絡を取る:

Re: SVバトル中にアクターの立ち絵を表示したいです

投稿記事by maker-b » 2016年7月06日(水) 23:00

こんばんわ

自己解決いたしましたので、方法を以下に記載いたします。

以下自作プラグインでオーバーライドしました。
ちなみに立ち絵のファイル名は equip_m + アクターIDとして事前に用意しました。

//CTBにおいてアクターの順番が回ってくるたびに、立ち絵を表示する方法
BattleManager.startCTBInput = function(battler) {
if (battler.isDead()) return;
battler.onTurnStart();
battler.makeActions();
if (battler.isEnemy()) {
battler.setupCTBCharge();
} else if (battler.canInput()) {
this._actorIndex = battler.index();
this.playCTBReadySound();

//ここで立ち絵を表示する
var Stand_FileName = 'equip_m'+battler._actorId;
$gameScreen.showPicture(17,Stand_FileName,0,900,30,-100,100,0,0);
$gameScreen.movePicture(17, 0, 860, 30, -100, 100, 255, 0, 40);


battler.setActionState('inputting');
battler.spriteStepForward();
this._phase = 'input';
return;
} else if (battler.isConfused()) {
battler.makeConfusionActions();
battler.setupCTBCharge();
} else {
battler.makeAutoBattleActions();
battler.setupCTBCharge();
}
if (battler.isCTBCharging()) {
this.setCTBPhase();
} else {
this.startCTBAction(battler);
}
};

BattleManager.startCTBAction = function(battler) {
this._subject = battler;
var action = this._subject.currentAction();
if (action && action.isValid()) {

   //立ち絵を消すよ
$gameScreen.movePicture(17, 0, 900, 30, -100, 100, 0, 0, 20);
//$gameScreen.erasePicture(17);


this.startAction();
} else {
this.endAction();
}
};

“MV:質問” へ戻る