Project1

标题: 将RMVX脚本与RMXP互相转换,或通用化 [打印本页]

作者: 布冷.逆天    时间: 2015-2-22 20:03
标题: 将RMVX脚本与RMXP互相转换,或通用化
本帖最后由 布冷.逆天 于 2015-2-22 21:42 编辑

由于我并不懂RMVX的脚本,所以希望大神给点资料,让我们大家一起找RMVX脚本和RMXP脚本的共同点。
目前呢,我觉得可以先将共同点找出来,然后将不同点注释,用RMVX是将RMVX的脚本解除注释,RMXP同理。
也可以将不同点转换成共同点!@RyanBern @恐惧剑刃 @芯☆淡茹水@︶ㄣ牛排ぶ @晴兰   

作者: taroxd    时间: 2015-2-22 21:46
一般做法是:

RUBY 代码复制
  1. # 由于我不知道 XP 的 Ruby 版本,但是听说过 self 的问题,就用顶层 self 来判断了。
  2. RGSS_VERSION = if RUBY_VERSION == '1.9.2'
  3.   :VA
  4. elsif self
  5.   :VX
  6. else
  7.   :XP
  8. end
  9.  
  10. # ... maybe in a class definition ...
  11.  
  12. if RGSS_VERSION == :VA
  13.   def some_method_in_va
  14.     do_something_in_va
  15.   end
  16. elsif RGSS_VERSION == :VX
  17.   def some_method_in_vx
  18.     do_something_in_vx
  19.   end
  20. else
  21.   # XP
  22. end

作者: 精灵使者    时间: 2015-2-25 17:42
本帖最后由 精灵使者 于 2015-2-25 18:24 编辑
  1. OS = self ? (RUBY_VERSION == '1.9.2' ? :va : :vx) : :xp
  2. case OS
  3. when :xp
  4.   #code in RMXP
  5. when :vx
  6.   #code in RMVX
  7. when :va
  8.   #code in RMVA
  9. end
复制代码

作者: tan12345    时间: 2015-3-24 15:07
如果按照楼上那样设定,岂不是一段代码写3次?加大工作量不好说,还不方便维护修改啊……
作者: LHY4118    时间: 2015-8-28 19:43
vx,va,xp通用类的脚本多不涉及数据
原因是调用方法不一样,比如vx属性6条,va八条。。。
于是vx改va华丽的失败了。




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