如何实现一个人物在规定范围内随机移动

想要实现一个功能,让一个指定的人物节点生成后自动在地图内移动,按照概率一会往左一会往右一会往上一会往下一会原地。这段代码应该怎么写?
我用tween实现,但是一旦start之后,就没有办法再call自己的函数了,卡在这里了,求大神给个思路,谢谢。

每向一个方向走都是单独的一个tween,在tween的回调中去随机下一个移动方向。或者在外部控制tween的结束即移动一定时间后停止当前的tween,判断执行下一个tween

这样写吗cc.tween().start().call()
在start后面的call好像没有反应,没办法在tween中回调下一个tween。请问要如何解决呀?

在外部如何控制tween的结束,具体怎么写?卡在这里,想不到解决方法。

cc.tween().call().start() 这样call才有反应

给人物添加一个状态,这个状态的值只能是[往左,往右,往上,往下,原地]这里面的一种,然后再写一个函数随机人物状态,然后看随机出的状态是不是和原来的状态一样,一样就什么都不做,不一样就暂停之前的tween,再运行一个 tween,然后开启一个定时器每隔固定时间就执行一次上面的函数

1赞

这样的话就实现不了运动之后再回调的效果了呀 :joy:

cc.tween().to().call().start() ,执行完to的动画,就会执行call

那就没办法实现运动完之后再调用回调的效果了呀 :joy:

你要的需求不是to动画播放结束后,调用call回调吗?

建议这个地方除了用tween去完成人物的移动外,还要考虑一个问题是人物从原始位置出发后转了几个方向后是不是还要回到原位置,也就是在一个范围内移动,否则这个人物可能越走越远,以至于走出地图以外。

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。