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

Project1

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

[已经解决] 怎样在Window里调用self.dispose呢???

[复制链接]

Lv6.析梦学徒

老鹰

梦石
40
星屑
33459
在线时间
6556 小时
注册时间
2012-5-26
帖子
3178

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

1
发表于 2021-3-9 10:40:46 | 显示全部楼层
本帖最后由 百里_飞柳 于 2021-3-9 12:59 编辑
alexncf125 发表于 2021-3-9 11:43
============================================================

这句是指, 在Scene_Map的def update內加 ...


不好意思,其实我忘了看第二个脚本(

你这个窗口是绑定在Scene里面的一个实例变量,不需要自己释放了
因为Scene_Base里面会统一更新、释放是窗口的实例变量
具体可以看类里面的 dispose_windows

这是一种元编程模式,默认的那些窗口也都没有再写额外的更新和释放

以及如果只是单纯想让它不再显示,推荐用 window 类继承下来的 hide 和 show 方法
如果想刷新内容,推荐不要用生成、释放的模式,而是用它的 refresh
回复

使用道具 举报

Lv6.析梦学徒

老鹰

梦石
40
星屑
33459
在线时间
6556 小时
注册时间
2012-5-26
帖子
3178

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

2
发表于 2021-3-9 11:18:02 | 显示全部楼层
这个弹幕脚本吓到我了,怎会有如此暴力的直接指定只能生成三个数目的更新方式(

因为它在窗口更新前判断了下窗口是否被释放
如果被释放了,就不再更新,因此没有报错,即189行
  1. $window_biu[0].update if $window_biu[0] && !$window_biu[0].disposed?
复制代码


你也可以在你的窗口的update前面判断下是否被释放
要么在
  1. window.update if !window.disposed?
复制代码

要么在
  1. def update
  2.   return if disposed?
  3.   super
  4. end
复制代码

回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-13 17:28

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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