战斗指令菜单
原仙剑战斗指令菜单是使用方向键控制,同时按照使用情况正好对应四个指令和四个方向,同时没有选中的菜单用黑色透明图片覆盖,达到未选中的效果,红色图片表示不能进行选中(即不能使用)。
原仙剑战斗指令图
通过该图可以清楚的看到未选中及选中、不能选中的情况;同时可以看到其他指令菜单的位置也算是做一下绝对的定位。
RMMV战斗指令对应代码
战斗时,分配键盘上Up键对应攻击,Down键对应其他,Left键对应法术,Right键对应合击。
战斗指令菜单
function Window_ActorCommand() {
this.initialize.apply(this, arguments);
}
Window_ActorCommand.prototype = Object.create(Window_Command.prototype);
Window_ActorCommand.prototype.constructor = Window_ActorCommand;
Window_ActorCommand.prototype.initialize = function() {
var y = Graphics.boxHeight - this.windowHeight();
Window_Command.prototype.initialize.call(this, 0, y);
this.openness = 0;
this.deactivate();
this._actor = null;
};
Window_ActorCommand.prototype.windowWidth = function() {
return 192;
};
Window_ActorCommand.prototype.numVisibleRows = function() {
return 4;
};
//创建命令列表
Window_ActorCommand.prototype.makeCommandList = function() {
if (this._actor) {
this.addAttackCommand();
this.addSkillCommands();
this.addJointAttackCommand();
this.addOtherCommand();
}
};
//添加攻击命令
Window_ActorCommand.prototype.addAttackCommand = function() {
this.addCommand(TextManager.attack, 'attack', this._actor.canAttack());
};
//添加魔法命令
Window_ActorCommand.prototype.addSkillCommands = function() {
var skillTypes = this._actor.addedSkillTypes();
skillTypes.sort(function(a, b) {
return a - b;
});
skillTypes.forEach(function(stypeId) {
var name = $dataSystem.skillTypes[stypeId];
this.addCommand(name, 'skill', true