感谢帮忙,现在可以正常的淡入淡出了 再问一下,如果希望呼出一个能够自动update的窗口除了你所说的在Scene_Base中添加一个窗口外还有其他方法吗? 比如我想做一个能够显示任意提示的窗口……写完了窗口的语句之后应该从哪里呼出这个窗口?呼出的语句是写在Game_Interpreter里面吗? |
本帖最后由 沙漠点灰 于 2013-8-24 16:01 编辑 lz写在事件编辑器里面啊,这样不行。 首先,自己这里2各地方错了,定义end!的时候,忘记清空计数器了。即:
改为:
添加这几行代码,直接加到Scene_Base即可
|
按照你所说的写了脚本 RUBY 代码复制
之后在游戏中的事件脚本里用 @window_mine = Window_Mine.new 显示了窗口 但是,使用 @window_mine.end! 却无法消除窗口,请问是怎么回事? |
本帖最后由 沙漠点灰 于 2013-8-24 02:35 编辑 将一个实例变量赋为所写窗口的新实例,即可,所有Scene都继承Scene_Base,窗口类不必再写x.update,也不必写x.dispose, 值得注意的是半路上(不是跳转Scene)释放窗口的话,还使实例变量为nil,否则RGSSError错误。 比如事先写好了Window_Mine类 @window_mine = Window_Mine.new(xx) 需要半路释放的时候 @window_mine.dispose @window_mine = nil ---------------------------------------------- 好了,回到lz所说的上面。建议lz使用一个“阶段”,自己一般划为3步骤,入、平、出。 这样的话,步骤就是先入,再平,最后出 RUBY 代码复制
上面的代码示例而已,直接打的,或许有问题,明白意思就行。还能随意增加/改变步骤。 用一个@step记录步骤,用一个@counter记录时(zhen)间(shu),什么时候该改变步骤。 一个代码块方便销毁窗口,否则到时直接dispose,就不会渐出了。 使用的话。这样: @window_mine = Window_Mine.new(xx){ @window_mine.dispose @window_mine = nil } 半路销毁就 @window_mine.end! 不过看实际吧,上面的适合半路杀出来的窗口。 一般的开始时直接生成,要显示时修改内容与不透明度╮( ̄▽ ̄)╭ P.S.像地图名字窗口那样简单的窗口可以直接使用单体方法,就像 @window_mine = Window_Base.new(xxx) calss << @window_mine def refresh xxxxxx end def update xxxx end end 这样 |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-16 03:13
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.