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