赞 | 2 |
VIP | 143 |
好人卡 | 1 |
积分 | 1 |
经验 | 216792 |
最后登录 | 2019-10-10 |
在线时间 | 24 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 61
- 在线时间
- 24 小时
- 注册时间
- 2008-8-5
- 帖子
- 1924
|
本帖最后由 紫苏 于 2009-7-30 11:41 编辑
这种问题自己在脚本中跟踪一下就知道了:
Game_Player 的 move_by_input 中每帧判断方向键的按下状态,如果按下则调用相应方向的 move_XXXX 方法;
在 move_XXXX 方法(方法的定义在父类 Game_Character)中如果可以移动则会改变 @real_x 或 @real_y 的值;
Game_Character 的 update_move 每帧被调用,如果发现 @x 或 @y 和 @real_x 或 @real_y 有差异,则让 @x 或 @y 向 @real_x 或 @real_y 的方向增加 distance(distance=2^@move_speed) 那么多~当移动速度不高时,需要多次调用 update_move 才能完成一格的移动;
在 update_move 中,@anime_count 会每帧增加,而在同样是每帧调用的 update_animation 中,当 @anime_count 增至一定高度后就会让行走图切换到下一帧,所以才会有行走时的动画;
最后在 Game_Player 的 update 中调用了 update_scroll,让画面随着主角卷动…… |
|