简单说明一下背景:在物理引擎世界中有三种类型的刚体,而动力学刚体是在开始模拟物理世界的时候是不允许修改其位置的,就是绑定精灵之后,setPosition,位置是不会有任何变化的。但是,最近在做个小游戏demo的时候,就需要改变运动中物体的位置。
场景是这样的,如果小球从左向右运动到屏幕外面,我就需要将它移到屏幕左边,然后保持原来的物理状态(质量,速度等等),这样就会继续从左边运动出来。
在思考和翻阅一段时间之后,发现了一个办法,用cocos引擎提供的动作就可以轻松解决!
sp->runAction(Place::create(Vec2(100,100)));
yep,用Place瞬间动作就可以完成这个效果,让物体直接设置到100,100的位置上。
那么接下来问题来了,为什么用动作可以不会有冲突完成这种艰巨的任务,即使去执行一个延时动作,它也会乖乖的动起来。。。暂时我也没整清楚,望有大神来解答
原文链接:https://www.f2er.com/cocos2dx/341987.html