Project1

标题: 当两个脚本里都有同样的CLASS是不是就会有一个失效 [打印本页]

作者: yang1zhi    时间: 2014-11-1 23:32
标题: 当两个脚本里都有同样的CLASS是不是就会有一个失效
两个不同的脚本里如果都有class Window_Help < Window_Base
是不是表示有一个脚本就会用不了
作者: cinderelmini    时间: 2014-11-1 23:56
不一定,要看内容~
如果这两个同名class类里面的某个/些方法(def xxx)名字一样的话,
那么排列在列表上方的class类里对应的这个/些方法就失效了,
这样推下去的话,如果所有的方法名字都一样的话,那么排在上方的那个类就废了~

另外就是,如果其中一个写了一个新的方法的话,
两个类是都可以用这个方法的。
作者: 喵呜喵5    时间: 2014-11-1 23:57
本帖最后由 喵呜喵5 于 2014-11-1 23:58 编辑

先说结论:不一定
如果两个脚本的脚本的作者都足够优秀同时脚本本身又不会特别奇葩的话,两个脚本是可以和谐共存的

举个栗子

第一个脚本
  1. class Window_Help < Window_Base
  2.   def a
  3.     msgbox "hello"
  4.   end
  5. end
复制代码
第二个脚本
  1. class Window_Help < Window_Base
  2.   def b
  3.     msgbox "world"
  4.   end
  5. end
复制代码
两个脚本各司其职,毫无冲突
第一个脚本
  1. class Window_Help < Window_Base
  2.   def a
  3.     msgbox "hello"
  4.   end
  5. end
复制代码
第二个脚本
  1. class Window_Help < Window_Base
  2.   def a
  3.     msgbox "world"
  4.   end
  5. end
复制代码
第二个脚本将第一个脚本覆盖了,可能造成脚本冲突
作者: 573932914    时间: 2014-11-2 07:38
这个的话,你可以看做是后面一个比前面一个晚执行
所以对方法什么的定义有的是合并有的是新的定义,看方法名字和具体的脚本
失效可能是部分方法失效




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