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

Project1

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

[有事请教] 关于Khas灯光脚本会发生disposed bitmap的问题

[复制链接]

Lv2.观梦者

梦石
0
星屑
780
在线时间
72 小时
注册时间
2020-12-5
帖子
9
跳转到指定楼层
1
发表于 2025-8-14 15:22:05 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 MameKo豆子 于 2025-8-14 15:22 编辑

测试游戏时想要重置游戏按了f12,再读档时就弹出来了


362行处:
  1. @bitmap = {2=>Light_Bitcore[@key[2]].clone,4=>Light_Bitcore[@key[4]].clone,6=>Light_Bitcore[@key[6]].clone,8=>Light_Bitcore[@key[8]].clone}
复制代码


代码小白实在是搞不懂怎么去处理这个

Lv2.观梦者

梦石
0
星屑
445
在线时间
25 小时
注册时间
2021-8-10
帖子
27
2
发表于 6 天前 | 只看该作者
本帖最后由 R_03氏 于 2025-10-12 20:19 编辑

以前把代码移植到vx似乎遇到了这问题但忘记怎么改了,今天折腾了好久。
问题主要是va重置游戏按了f12不正确释放位图引起的,在250行附近(我加减了一些东西,你看着找到了就行)也就是def initialize(char,bitmap,opacity,plus,hs)下面。运行时判断是否disposed了,是就初始化,先改这个
RUBY 代码复制
  1. def initialize(char,bitmap,opacity,plus,hs)
  2.     sync(char)
  3.     @key = bitmap
  4.     #修改如下
  5.     if Light_Bitcore[@key].disposed?
  6.       Light_Bitcore.initialize
  7.     end
  8.     #修改如上
  9.     @bitmap = Light_Bitcore[@key].clone
  10.     @range = @bitmap.width/2
  11.     @w = @bitmap.width
  12.     @h = @bitmap.height
  13.     @mr = @range - 16
  14.     @opacity = opacity
  15.     @plus = plus
  16.     @hs = hs
  17.     render if @hs
  18.   end
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
445
在线时间
25 小时
注册时间
2021-8-10
帖子
27
3
发表于 6 天前 | 只看该作者
本帖最后由 R_03氏 于 2025-10-12 20:23 编辑

然后直击要害把地图的spirit类的初始化增一个,大约在900行以后class Spriteset_Map下面有def initialize方法,增加如下增加的语句,先用用看有什么问题,因为我一直在用vx
RUBY 代码复制
  1. def initialize
  2.     Light_Bitcore.initialize #←增加的
  3.     setup_lights
  4.     kbl_initialize
  5.   end
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-10-18 08:56

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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