Project1

标题: 脚本方面 command执行方法 [打印本页]

作者: 清澈淌漾    时间: 2021-5-22 10:50
标题: 脚本方面 command执行方法
setHandler('xxxx',   this.commandyyy.bind(this));
后面bind的方法必须跳到带有Window_Command激活状态的窗口里么,不然就卡住。
有什么方法让他不跳出来么- -


作者: 仇九    时间: 2021-5-22 20:22
是能按下,但是按下以后不激活别的窗口吗?
比如你在这里写了一句:
this._aaaaaWindow.setHandler('xxxx',   this.commandyyy.bind(this));
那么你就在同场景的commandyyy函数里写上:
this._aaaaaWindow.activate();
这样就不会让原来的选择窗口取消激活。
[line]3[/line]
完整的:
Scene_AAAAAe.prototype.createaaaaWindow = function() {
    this._aaaaaWindow=new Window_aaaaa();
    this._aaaaaWindow.setHandler('xxxx',   this.commandyyy.bind(this));
    this.addWindow(this._aaaaaWindow);
};
Scene_AAAAAe.prototype.commandyyy= function() {
    this._aaaaaWindow.activate();
};
[line]3[/line]
解释:自带的功能是你按下对应键/按钮后,自动将原来的窗口取消激活(deactivate),然后执行commandyyy。
这个时候你直接在commandyyy里再激活就对了。
[line]3[/line]
如果你说的是直接“按下后没有反应”,那么就得改/覆写Window_Selectable.prototype.processHandling或Window_Selectable.prototype.processOk了。
如果你说的是直接让按钮一直不能按,那么就改addCommand,要是一会儿能一会儿不能,建议直接用Window_Selectable而不是Window_Command。
不过我觉得你想的不是后两种情况,所以也就不详说了。

作者: 清澈淌漾    时间: 2021-5-22 23:41
谢谢大佬答疑





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1