Project1

标题: @触手,如何判断RM游戏已经加载完毕? [打印本页]

作者: fux2    时间: 2014-4-25 17:36
标题: @触手,如何判断RM游戏已经加载完毕?
环境RMXP,大概就是……
自制RGSS Player播放器(夏娜范例)里我下载了一些更新信息,
由于是异步下载,下载完毕之后会调用RGSSSetStringUTF8这个函数把下载的信息扔到游戏里去
但如果下载太快,此时游戏并未开始运行(已进入RGSSMain,但环境未铺好)
就会出现内存访问异常,请问有啥好的解决方法吗?

PS:以下方法请排除
使用rb_definxxxxx定义好方法给游戏调用
↑,这个导出函数找不到,二来太麻烦
作者: 柳之一    时间: 2014-4-25 20:17
所以 網遊更新有兩個exe。一個叫開始遊戲exe。一個叫遊戲更新exe。
作者: 蓝儿    时间: 2014-4-25 20:39
完全听不懂= =如果是加载的话= =一般不需要多长时间?
作者: yagami    时间: 2014-4-25 21:32
主线程
update()

     if (x==1)
         dosomething()//类似切换 scene的事情
   else
        return

子线程
处理数据
处理完 x=1;
作者: fux2    时间: 2014-4-25 23:07
yagami 发表于 2014-4-25 21:32
主线程
update()

主线程调用RGSSMain之后循环都交给RM的DLL管理了,主线程只等待一个返回,返回的时候游戏就结束了。
作者: asperta    时间: 2014-4-25 23:18
非要通过RGSS Player播放器么?不能等加载完毕再开始下载更新信息吗
作者: 冰蓝的马甲    时间: 2014-4-26 01:08
一定要开始前下载啊……做个临时文件暂时存一下试试?然后载入完成之后WIN32API读回去啥的(←这不是认真的)
顺便顶一下LS
作者: LBQ    时间: 2014-4-26 01:24
异常rescue一下,之后继续试(噗
作者: 晴兰    时间: 2014-4-26 11:49
提示: 作者被禁止或删除 内容自动屏蔽
作者: fux2    时间: 2014-4-26 18:32
asperta 发表于 2014-4-25 23:18
非要通过RGSS Player播放器么?不能等加载完毕再开始下载更新信息吗

可是我问的不就是怎么判断加载完吗
调用DLL之后你根本不知道什么时候游戏加载完。
作者: 精灵使者    时间: 2014-4-27 00:40
首先执行更新程序更新完毕之后开始菜单才亮起,这样比较好吧。




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