插件是在游戏启动时,随同index.html一次性读入内存的。
从读取的先后顺序来看,在它之前是已经完成了游戏底层的初始化,所以在插件里可以使用底层提供的各种类型、数据,包括但不限于$gameVariables、$gameSwitches等等。
那么,这就提供了一种可能:在设计插件时,可以动态地根据某个开关的状态或者变量的值,给插件里的某些方法赋予不同的值。
比如,当开关1打开时,
新方法A = 方法A; 方法A = function(){ ...此处省略若干语句... 调用(新方法A); };
新方法A = 方法A;
方法A = function(){
...此处省略若干语句...
调用(新方法A);
};
当开关1关闭时,
根据这个原理,不仅可以写新插件,也可以对已有的插件进行改造,无非就是在原来的代码上加一层条件分歧的壳。 |