查看: 2637|回复: 2

[原创发布] 修复VA中Viewport类disposed?方法未定义的bug

[复制链接]

老黄鸡

梦石
4
星屑
45705
在线时间
7948 小时
注册时间
2009-7-6
回帖
13338

MZ评测员RM创作大赛01组委会开拓者贵宾

发表于 2018-2-16 10:21:24 | 显示全部楼层 |阅读模式

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

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

×
说明文档里虽然有写disposed?这个方法,但实际上它是不存在的= =
不得不吐槽一下脑子打铁的eb程序员,更恶劣的是至今还没修复。
插入以下代码后功能恢复

不要问为什么非要读内存而不是alias initialize和dispose
以RGSS目前的尿性来看,有很多你意想不到的bug,上面的做法从逻辑上来讲
是完全没问题的,但是如果你想在出错的时候明确的知道是内部出错还是自己
出错,下面的代码可以帮到你。

[pre lang="ruby"]class Viewport

  Memcopy = Win32API.new('kernel32','RtlMoveMemory','pll','l')

  def disposed?
    buf = "\0"*4
    Memcopy.call(buf,self.object_id*2+16,4)
    objPtr = buf.unpack("L").first
    Memcopy.call(buf,objPtr+8,4)
    return buf.unpack("L").first==0
  end

end[/pre]

评分

参与人数 4赞 +4 收起 理由
cinderelmini + 1 精品文章
百里_飞柳 + 1 精品文章
gforce + 1 精品文章
MireniamuYuki + 1 精品文章

查看全部评分

RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部