Project1

标题: 如何编写窗口脚本? [打印本页]

作者: 最终剧    时间: 2009-3-29 03:58
提示: 作者被禁止或删除 内容自动屏蔽
作者: 鸿门o皓月    时间: 2009-3-29 04:01
提示: 作者被禁止或删除 内容自动屏蔽
作者: tommay    时间: 2009-3-29 04:06
LZ还是先把默认脚本中的Window_XXX看懂吧
作者: END66RPG    时间: 2009-3-29 04:10
懂不起 [LINE]1,#dddddd[/LINE]版主对此帖的评论:『无意义。』,积分『-50』。这些被扣积分的一半会用于对本帖正确答案的悬赏。
作者: 水镜风生    时间: 2009-3-29 04:38
简单来说,就是写个窗口继承Window_Base,然后用initialize方法初始化窗口的XY坐标,高和宽,再者用contents.draw_text的方法描绘文字,用contents.blt的方法显示图片。

那啥,不是广告,建议LZ到“风镜梦乐园”看TD(人名)的脚本教程,地址就不方便给出了……
作者: 西江月    时间: 2009-3-29 04:53
以下引用水镜风生于2009-3-28 20:38:48的发言:

那啥,不是广告,建议LZ到“风镜梦乐园”看TD(人名)的脚本教程,地址就不方便给出了……

那啥,不是广告,建议LZ到“RPG梦工厂”看JY(人名)的脚本教程,地址就不方便出了……
作者: 八云紫    时间: 2009-3-29 05:03
窗口脚本一般的结构是这样的,

class Window_XXX < Window_Super
   def initialize
   end
   def refresh
   end
end

这里的 Window_XXX 是这个窗口的类名, Window_Super 是父类的类名。

Window_Super 的选择,一般是看这个窗口是否有光标,有的话,就继承 Window_Selectable,

如果不是的话,就继承 Window_Base 。 当然,如果想继承其他的类的话,也是可以的,只要

是窗口类即可。

initialize 方法是这个窗口类被实例化的时候才调用的方法, 就是使用这样的语句:

   Window_XXX.new()

其中 new 后面的参数一定要和 initialize 的参数一致,并且 new 后面的参数会传给

initialize 。 另外,因为 initialize 方法只能是在 new 的时候调用的,我们不能够手

动调用(不知道 Ruby 里能不能调用,即使可以,也不推荐),所以, initialize 通常用于

初始化变量使用。

refresh 顾名思义,刷新。 一切会改变的东西都要写在 refresh 里。最后 refresh 不会自

动调用,只能我们手动调用。

窗口类里还有两个主要的方法 update 和 dispose 。

update 一般是用来刷新光标的,也不会自动调用。

dispose 释放,用来处理窗口,图片什么的释放工作。这样在这个窗口不需要的时候会清掉

这个窗口的内容。 [LINE]1,#dddddd[/LINE]版主对此帖的认可:『果然详细{/qiang}』,积分『+150』。 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~




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