ページ 1 / 1
【解決済み】SVバトル中にアクターの立ち絵を表示したいです
Posted: 2016年7月03日(日) 23:15
by maker-b
お世話になっております。
いつも本サイトを拝見し、勉強させて頂いております。
掲題の件、ご相談でございます。
現在、yanfly様の
battle engine core
battle system ctb
を活用しております。
実現したいこと、というのは
アクターの順番が回ってきた段階で、
そのアクターの立ち絵を画面右に表示したい
ということです。
色々と試行錯誤をしておりますが、
端的にいうと、
アクターの順番が回ってきた段階で
コモンイベントを実行する(立ち絵を表示する)
アクターの行動が決定された段階で
コモンイベントを実行する(立ち絵を消す)
ということで解決出来そうですが、
JAVAに無知な私は、どのメソッドをオーバーライドすればいいのかわかりません・・・・
どなたか、お知恵を拝借出来ませんでしょうか?
Re: SVバトル中にアクターの立ち絵を表示したいです
Posted: 2016年7月06日(水) 23:00
by maker-b
こんばんわ
自己解決いたしましたので、方法を以下に記載いたします。
以下自作プラグインでオーバーライドしました。
ちなみに立ち絵のファイル名は 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();
}
};