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

Project1

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

[已经解决] 绘制窗口时显示图片让它们关闭时能同时消失【已解决】

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3093
在线时间
344 小时
注册时间
2021-10-18
帖子
157
跳转到指定楼层
1
发表于 2021-10-28 01:04:47 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 掘窖人 于 2021-11-6 23:04 编辑

绘制窗口显示图片,怎样让它们关闭时能同时消失


我弄了一个菜单,这个菜单打开时是同时显示一张图片的,这张图片是个画框,菜单看起来像一幅油画。

打开菜单时,它们同时显示的,但是按取消键关闭菜单的时候,图片会先消失,然后才是窗口消失,看起来很别扭。

有没有大佬知道怎样写可以让窗口和图片关闭时能同时消失?

而不是图片消失菜单才消失。

Lv3.寻梦者

梦石
0
星屑
3093
在线时间
344 小时
注册时间
2021-10-18
帖子
157
17
 楼主| 发表于 2021-10-31 13:39:59 | 只看该作者
fux2 发表于 2021-10-30 15:35
指精灵,位图不释放也不会导致泄露
精灵和一次性位图(一般用于做一些描绘)的释放原则是用完就释放
缓存 ...

原来是这样,一直以为未释放的,会在存档时被保留下来到下次读档继续运行,感谢指教~

最后我想问一个很基础的问题,如果我在初始化方法里,建30个实例变量,或我新建一个三十项的数组,或新建一个三十键的哈希,是不是占用的资源都差不多?
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3093
在线时间
344 小时
注册时间
2021-10-18
帖子
157
16
 楼主| 发表于 2021-10-30 15:39:59 | 只看该作者
fux2 发表于 2021-10-30 15:35
指精灵,位图不释放也不会导致泄露
精灵和一次性位图(一般用于做一些描绘)的释放原则是用完就释放
缓存 ...

那如果这种不释放的精灵,在游戏关闭以后再打开,还会堆积起来吗?

点评

那怎么可能,关闭了一切都从头再来了,泄露指的是运行期间  发表于 2021-10-31 09:06
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
41947
在线时间
7652 小时
注册时间
2009-7-6
帖子
13526

开拓者贵宾

15
发表于 2021-10-30 15:35:45 | 只看该作者
掘窖人 发表于 2021-10-30 12:55
“放任不管切换场景时消失...” 这句话指的是位图还是精灵?

指精灵,位图不释放也不会导致泄露
精灵和一次性位图(一般用于做一些描绘)的释放原则是用完就释放
缓存位图直接不管,留在缓存里
RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3093
在线时间
344 小时
注册时间
2021-10-18
帖子
157
14
 楼主| 发表于 2021-10-30 12:55:44 | 只看该作者
fux2 发表于 2021-10-30 00:24
terminate方法里把$Spp.dispose掉就可以,不要释放它的bitmap,这是缓存里的bitmap
放任不管虽然切换场景时 ...

“放任不管切换场景时消失...” 这句话指的是位图还是精灵?
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
41947
在线时间
7652 小时
注册时间
2009-7-6
帖子
13526

开拓者贵宾

13
发表于 2021-10-30 00:24:21 | 只看该作者
terminate方法里把$Spp.dispose掉就可以,不要释放它的bitmap,这是缓存里的bitmap
放任不管虽然切换场景时会消失,但同时也会产生不可挽回的内存泄露

评分

参与人数 1星屑 +150 +1 收起 理由
alexncf125 + 150 + 1 精品文章

查看全部评分

RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3093
在线时间
344 小时
注册时间
2021-10-18
帖子
157
12
 楼主| 发表于 2021-10-29 23:55:32 | 只看该作者
alexncf125 发表于 2021-10-29 23:23
退出菜单是会返回地图吧,,,
所以试试在unless那儿加多个分歧, 比如,,,
  def terminate

可以了,释放图片的地方,谢谢啦

另外9L那个bug,不管新开工程还是玩别人发布的游戏都会有的,不过你测不出也没办法了。。。

那我想问问,能不能把按住 shift 加速跑步 改成按一下切换【加速/步行】的模式?
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
26414
在线时间
5311 小时
注册时间
2016-3-8
帖子
1657
11
发表于 2021-10-29 23:23:15 | 只看该作者
本帖最后由 alexncf125 于 2021-10-29 23:27 编辑
掘窖人 发表于 2021-10-29 14:58
不是,虽然这样改能让画框图和主菜单一起消失,不过导致了按了其它按钮后,比如 道具、文件、存档里面的 ...


退出菜单是会返回地图吧,,,
所以试试在unless那儿加多个分歧, 比如,,,
  def terminate
    super
    if SceneManager.scene.is_a?(Scene_Map)
      $Spp.bitmap.dispose unless $Spp.bitmap==nil
    end
  end


9L的提问,,,我这边测不出bug来,,,新开工程也有问题的话,,,可能是你机子的软硬件的事儿,,,

评分

参与人数 1+1 收起 理由
掘窖人 + 1 我很赞同

查看全部评分

回复 支持 1 反对 0

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3093
在线时间
344 小时
注册时间
2021-10-18
帖子
157
10
 楼主| 发表于 2021-10-29 14:58:29 | 只看该作者
alexncf125 发表于 2021-10-29 00:08
看看这样改可以不,,,加了30-33行, 刪了35-39行, 改了47行


不是,虽然这样改能让画框图和主菜单一起消失,不过导致了按了其它按钮后,比如 道具、文件、存档里面的窗口也同时把画框图释放了。

我是希望这个画框图在进入道具、文件、存档也是存在,只是单纯希望画框图在退出菜单的时候消失。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3093
在线时间
344 小时
注册时间
2021-10-18
帖子
157
9
 楼主| 发表于 2021-10-29 13:11:54 | 只看该作者
本帖最后由 掘窖人 于 2021-10-29 13:19 编辑
alexncf125 发表于 2021-10-29 00:08
看看这样改可以不,,,加了30-33行, 刪了35-39行, 改了47行


另外想问一下,VXA这个版本做出来的游戏,窗口化玩时,按出菜单,多按几次取消键就失效了,只能用鼠标点到游戏外面,再点回游戏窗口,取消键才会执行一次,如果要恢复,关闭游戏或重启电脑之类的不太记得了,想问一下这个bug怎么修复?

PS:这个Bug通常是在加速跑步的时候在松开Shift键的瞬间连按菜单键(取消键),就会出现,新开工程也是有的这个BUG。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-16 06:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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