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

Project1

 找回密码
 注册会员
搜索

标题图形和窗口不被释放的问题。

查看数: 2331 | 评论数: 5 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2015-1-27 17:01

正文摘要:

本帖最后由 我是大仙 于 2015-1-28 12:00 编辑

回复

我是大仙 发表于 2015-1-28 15:06:49
RyanBern 发表于 2015-1-28 12:53
LZ自学不是很到位哈,先说发现的几个问题,改正就可以了。
1.点击“咔”选项后,生成了一个图片。(在脚本 ...

哇,太感谢了。
来,啵儿一个~(开玩笑的)

点评

给我真的啵儿啊~  发表于 2015-1-28 20:49
RyanBern 发表于 2015-1-28 12:53:08
LZ自学不是很到位哈,先说发现的几个问题,改正就可以了。
1.点击“咔”选项后,生成了一个图片。(在脚本中是变量@wsdx)。场景离开Scene_Title后,这个图片应该被释放。
下面这句应该放到Scene_Title释放那里。
RUBY 代码复制
  1. if @wsdx != nil
  2.   @wsdx.bitmap.dispose
  3.   @wddx.dispose
  4. end

如果LZ是想在Scene_Ka中显示这张图片,请在Scene_Ka对象中生成它,而不是在Scene_Title中生成。当然,生成之后也别忘释放。
2.LZ之所以能看到标题图形和窗口,不是因为它没有释放,而是因为画面处于冻结状态,而处于冻结状态的画面,Graphics.update不起作用。因此,在每个Scene类对象的loop do~end之前,都应该有一句Graphics.transition。这句话是让画面过渡,同时解除画面冻结的状态。
3.loop do~end中应该有三个update(或者至少是两个):Graphics.update,Input.update,update。LZ既然用了输入判断,那么为啥不加Input.update啊?

最后,更改后的Scene_Ka:
RUBY 代码复制
  1. class Scene_Ka
  2.   def main
  3.     Graphics.transition
  4.     loop do
  5.       Graphics.update
  6.       Input.update
  7.       shuaxing
  8.       if $scene != self
  9.         break
  10.       end
  11.     end
  12.   end
  13.   def shuaxing
  14.     if Input.trigger?(Input::Z)
  15.       $scene = Scene_Title.new
  16.     end
  17.   end
  18. end

另外Scene_Title那里加个@wsdx的释放,或者把生成图片转移到Scene_Ka中去。

评分

参与人数 1星屑 +200 收起 理由
myownroc + 200 塞糖

查看全部评分

我是大仙 发表于 2015-1-28 11:48:18
Thylakoid 发表于 2015-1-28 00:09
我也不是特别清楚你想表达的问题,仅从图上看,我有以下理解,理解不对的话还请见谅。按图上的顺序,你的算 ...

我给你工程好了,我的确把Scene的切换放到了 update里了。
自学成才.zip (223.63 KB, 下载次数: 56)
Thylakoid 发表于 2015-1-28 00:09:58
我也不是特别清楚你想表达的问题,仅从图上看,我有以下理解,理解不对的话还请见谅。按图上的顺序,你的算法顺序是先切换Scene,后开始loop do逐帧刷新,这样一来因为Scene已经切换完毕,所以无法跳出循环,自然也不会执行接下来的命令。既然以画面切换为中断循环的条件,那么执行画面切换的过程应该在loop do这个循环过程中,也就是说,应该把Scene的切换放到到对应的刷新方法(update)的定义里。
你最珍贵 发表于 2015-1-27 22:33:40
什么鬼,没看懂你说什么鬼
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-26 22:07

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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