Egret社区
2银子
如题,我想实现rpg中角色响应鼠标点击在地图上移动,使用了现成的A*寻路依次得到一串路点后,下一步移动遇到了困难。
如果采用直接改 .x .y的方法,角色移动是不平滑,一跳一跳的;

又尝试了用tween动画,每次移动到一个点后,用.call方法抛出一个消息,继续往下个点移动。
这个方法,如果我普通点击,移动是没问题的。但如果我在一次移动过程中,点了另外一个点重新寻路,角色就会开始抖来抖去。(尝试了重新寻路前移除旧的tween,但似乎没有效果)

求助各位大神,帮忙解决这个问题,在寻路得到路点后,怎样才能平滑移动,并且避免tween的抖动问题呢?

分享到 :
0 人收藏

4 个回复

倒序浏览
wang1011273092  登堂入室 | 2018-9-7 18:27:00
发一下你移除tween的代码,可能是你移除时出现的问题,没有移除完
kongao0204  登堂入室 | 2018-9-8 17:23:29
wang1011273092 发表于 2018-9-7 18:27
发一下你移除tween的代码,可能是你移除时出现的问题,没有移除完

非常感谢回答!

尝试了用this.stage.addEventListener(egret.TouchEvent.TOUCH_TAP, this.onGridClick, this);
每帧检测目标点,按固定的差值改变.x和.y坐标实现了,可以平滑了。
solomn  登堂入室 | 2018-9-9 18:33:02
可以一直call的,call完之后tw.setPaused(false)完事了,call就是一直往tw里面注入回调事件,如果当前动画播放完了,发现还有剩余的注入动画事件就会继续放下一个动画的
niconicohang  初学乍练 | 2018-9-29 12:16:34
kongao0204 发表于 2018-9-8 17:23
非常感谢回答!

尝试了用this.stage.addEventListener(egret.TouchEvent.TOUCH_TAP, this.onGridClick,  ...

确实有效,每一帧如果位移值不固定,会出现一跳一跳的现象,或者说卡顿,或者说不平滑;如果,每一帧的位移值固定,运动就平滑了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部