本帖最后由 夏虫沉默 于 2022-1-4 21:49 编辑
首先需要重写类Window_ActorCommand的makeCommandList方法,使得命令出现在战斗界面里, this.addCommand('命令名', '命令的标志');
还要重写类Scene_Battle的createActorCommandWindow方法,使得对应命令的映射能够正确反馈, this._actorCommandWindow.setHandler(命令的标志', this.技能的方法.bind(this));
技能的方法可以类似这样写:Scene_Battle.prototype.commandGunAttack = function() {//技能的方法叫commandGunAttack var skill = BattleManager.actor().skills();//当前角色的技能列表 BattleManager.inputtingAction().setSkill(skill[0].id);//技能列表的第一个技能 // this.onSelectAction();//技能采用的选择方法(目标可以是自己也可以敌人取决于技能) this.selectEnemySelection();//选择目标为敌人 };
Scene_Battle.prototype.commandGunAttack = function() {//技能的方法叫commandGunAttack
var skill = BattleManager.actor().skills();//当前角色的技能列表
BattleManager.inputtingAction().setSkill(skill[0].id);//技能列表的第一个技能
// this.onSelectAction();//技能采用的选择方法(目标可以是自己也可以敌人取决于技能)
this.selectEnemySelection();//选择目标为敌人
};
还要处理在取消选择敌人为目标时返回键的监听,类Scene_Battle的onEnemyCancel ,增加对应case的判断;
以及选择玩取消玩家角色为为目标时返回键的监听,类Scene_Battle的onActorCancel,增加对应case的判断;
|