Project1

标题: 关于Khas灯光脚本会发生disposed bitmap的问题 [打印本页]

作者: MameKo豆子    时间: 2025-8-14 15:22
标题: 关于Khas灯光脚本会发生disposed bitmap的问题
本帖最后由 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}
复制代码


代码小白实在是搞不懂怎么去处理这个
作者: R_03氏    时间: 2025-10-12 15:19
本帖最后由 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

作者: R_03氏    时间: 2025-10-12 15:21
本帖最后由 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





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1