我想实现这样的功能: 当主角吃了磁铁道具之后,屏幕上所有的金币都会被吸附到主角身上
我的实现方法是这样的:
金币放在对象池里面,当检测到主角吃了磁铁,就在每次从对象池取金币的时候,给金币初始化moveTo到主角身上。
这样实现有一个问题:在吃到磁铁之前屏幕上已经存在了一些金币,而这些金币是没有初始化为moveTo的,我想要吸附这些已经生成的金币,请问各位大神这个问题该如何解决?
我想实现这样的功能: 当主角吃了磁铁道具之后,屏幕上所有的金币都会被吸附到主角身上
我的实现方法是这样的:
金币放在对象池里面,当检测到主角吃了磁铁,就在每次从对象池取金币的时候,给金币初始化moveTo到主角身上。
这样实现有一个问题:在吃到磁铁之前屏幕上已经存在了一些金币,而这些金币是没有初始化为moveTo的,我想要吸附这些已经生成的金币,请问各位大神这个问题该如何解决?
这些金币生成的时候存在数组里,然后直接调用就行了
把 磁铁脚本 放在player上
不是应该在主角移动的过程中,判断已经刷出来的金币与主角的位置关系,然后再moveto么?
玩家身上肯定挂磁铁脚本的,最好给玩家和道具包括金币添加碰撞。
玩家碰撞到道具的时候检测碰到了什么道具,如果是磁铁,就调用磁铁脚本。
因为玩家每帧的位置都不一样,所以在磁铁脚本里还要添加一个定时器,持续时间为磁铁的持续时间,每隔一帧或几帧时间都要遍历所有的金币,逐个计算金币与玩家的距离,然后得出移动距离需要的时间,调用金币 node 的moveTo Player。
监听金币与玩家的碰撞,碰撞后回收金币到金币池里。