查看: 1899|回复: 2

[已经解决] 关于循环的一个问题

[复制链接]
梦石
0
星屑
155
在线时间
478 小时
注册时间
2011-3-5
回帖
231
发表于 2014-11-9 18:51:49 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
[pre lang="ruby" line="1"]  def pre_terminate
    while @status_window.x != Graphics.width + 10
      @status_window.x+=10
     if @command_window.x != -400 + @command_window.width
        @command_window.x -= 10
     end
     if @gold_window.x != -400 + @gold_window.width
        @gold_window.x -= 10
     end
    end
  end[/pre]

在 Scene_Menu 中,我重定义了pre_terminate方法【因为这好像是结束前处理】,是想退出菜单场景前,各个窗口向两边移动,
但是没有移动就直接退出菜单场景了,我很确定pre_terminate方法是有被执行的。
所以问题出在哪里?是因为循环的同时也会执行下个过程么?【于是乎要加延迟的代码嘛?】

点评

啊啊啊简直大触!竟然就这样解决了!  发表于 2014-11-9 22:01
这段循环中没有重新绘制画面,在if里面加上 Graphics.update 刷新一下画面试试  发表于 2014-11-9 21:16

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2014-11-9 18:55:46 | 显示全部楼层
才几十次的循环,电脑一瞬间就做完了。

正确的渐变方法可以参考“移动图片”的处理,或者更简单的,“打开窗口”的处理

点评

窗口打开时有一个拉伸的过程,也就是调整 openness 属性的过程。看看 Window_Base 是怎么处理这个过程的。  发表于 2014-11-9 19:37
抱歉理解能力有点差qwq 请说清楚些  发表于 2014-11-9 19:08
回复

使用道具 举报

梦石
0
星屑
50
在线时间
269 小时
注册时间
2014-5-9
回帖
124

开拓者

发表于 2014-11-9 19:02:43 | 显示全部楼层
每次循环时都要执行Graphics.update来刷新画面

评分

参与人数 1星屑 +200 收起 理由
VIPArcher + 200 认可答案

查看全部评分

泉眼无声惜细流,树阴照水爱晴柔。
小荷才露尖尖角,早有蜻蜓立上头。
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部