赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 0 |
经验 | 0 |
最后登录 | 2012-9-10 |
在线时间 | 9 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 255
- 在线时间
- 9 小时
- 注册时间
- 2012-9-2
- 帖子
- 2
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 糊状物 于 2012-9-8 16:31 编辑
最近几天才接触rpg maker和ruby,秉持有新用新的原则,就选了rpg maker vx ace。
看代码第一个想搞清楚rmva是如何处理事件的,于是乎定位到Game_Interpreter这个类上。
在看Game_Interpreter类的时候有些事情想确认一下。
以下假设Game_Interpreter类的实例均名为@interpreter
1、其他类中是通过@interpreter.update恢复挂起的@interpreter内的fiber;
2、游戏中会同时存在复数个@interpreter这样的实例;
3、一个@interpreter实例在一个游戏周期内(一帧?),仅会被调用一次update函数。(这个我特别不确定)
4、综合上述第三点,@interpreter内等待10帧是通过执行10次Fiber.yield实现的,但在处理完这个等待10帧的事件后会遇到run函数紧随的Fiber.yield,所以实际上是等待了10+1=11帧?
另外rmva是在脚本哪个部分中实现60帧==1秒的?
原始脚本中其他类的update、refresh是不是也是在一个周期内仅被调用一次? |
|