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

Project1

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

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

[复制链接]

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
39630
在线时间
7484 小时
注册时间
2009-7-6
帖子
13483

开拓者贵宾

跳转到指定楼层
1
发表于 2018-2-16 10:21:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

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

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

RUBY 代码复制
  1. class Viewport
  2.  
  3.   Memcopy = Win32API.new('kernel32','RtlMoveMemory','pll','l')
  4.  
  5.   def disposed?
  6.     buf = "\0"*4
  7.     Memcopy.call(buf,self.object_id*2+16,4)
  8.     objPtr = buf.unpack("L").first
  9.     Memcopy.call(buf,objPtr+8,4)
  10.     return buf.unpack("L").first==0
  11.   end
  12.  
  13. end

评分

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

查看全部评分

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

本版积分规则

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

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

GMT+8, 2024-4-23 17:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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