设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1101|回复: 6
打印 上一主题 下一主题

如何编写窗口脚本?

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-4-20
帖子
329
跳转到指定楼层
1
发表于 2009-3-29 03:58:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-3-8
帖子
165
2
发表于 2009-3-29 04:01:51 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦·贤者

梦石
0
星屑
50
在线时间
1141 小时
注册时间
2007-12-15
帖子
4100
3
发表于 2009-3-29 04:06:53 | 只看该作者
LZ还是先把默认脚本中的Window_XXX看懂吧
http://rpg.blue/home.php?mod=space&uid=34951&do=blog&id=12799
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人

梦石
0
星屑
49
在线时间
143 小时
注册时间
2009-3-21
帖子
496
4
发表于 2009-3-29 04:10:34 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
433 小时
注册时间
2007-5-1
帖子
993
5
发表于 2009-3-29 04:38:48 | 只看该作者
简单来说,就是写个窗口继承Window_Base,然后用initialize方法初始化窗口的XY坐标,高和宽,再者用contents.draw_text的方法描绘文字,用contents.blt的方法显示图片。

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

嗯,不能浪费签名了,打广告。本人的悲剧作品:
坑化游戏《龙之影》      R剧《星空》     小游戏《剑与拳头》
回复 支持 反对

使用道具 举报

Lv1.梦旅人

无月的荒城

梦石
0
星屑
50
在线时间
9 小时
注册时间
2007-12-20
帖子
2004
6
发表于 2009-3-29 04:53:32 | 只看该作者
以下引用水镜风生于2009-3-28 20:38:48的发言:

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

那啥,不是广告,建议LZ到“RPG梦工厂”看JY(人名)的脚本教程,地址就不方便出了……
【RPG梦工厂】-http://devil516.5d6d.com
- 原创游戏发布中心
- RM技术交流论坛

目前已经半荒废,类似于终南山式的存在,欢迎隐居人士前来采菊……
回复 支持 反对

使用道具 举报

Lv2.观梦者

神隐的主犯

梦石
0
星屑
299
在线时间
271 小时
注册时间
2008-2-22
帖子
7691

贵宾

7
发表于 2009-3-29 05:03:07 | 只看该作者
窗口脚本一般的结构是这样的,

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 释放,用来处理窗口,图片什么的释放工作。这样在这个窗口不需要的时候会清掉

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

《天空之城 —— 破碎的命运》
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-1-17 00:12

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表