Cocos2d-x 强制设置运动刚体的位置

Posted wangdi1224

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cocos2d-x 强制设置运动刚体的位置相关的知识,希望对你有一定的参考价值。

简单说明一下背景:在物理引擎世界中有三种类型的刚体,而动力学刚体是在开始模拟物理世界的时候是不允许修改其位置的,就是绑定精灵之后,setPosition,位置是不会有任何变化的。但是,最近在做个小游戏demo的时候,就需要改变运动中物体的位置。

场景是这样的,如果小球从左向右运动到屏幕外面,我就需要将它移到屏幕左边,然后保持原来的物理状态(质量,速度等等),这样就会继续从左边运动出来。

 

在思考和翻阅一段时间之后,发现了一个办法,用cocos引擎提供的动作就可以轻松解决!

sp->runAction(Place::create(Vec2(100,100)));


yep,用Place瞬间动作就可以完成这个效果,让物体直接设置到100,100的位置上。

 

那么接下来问题来了,为什么用动作可以不会有冲突完成这种艰巨的任务,即使去执行一个延时动作,它也会乖乖的动起来。。。暂时我也没整清楚,望有大神来解答

以上是关于Cocos2d-x 强制设置运动刚体的位置的主要内容,如果未能解决你的问题,请参考以下文章

Godot 物理引擎 2D

unity物理引擎浅谈

2.Libgdx扩展学习之Box2D_刚体和形状

2.Libgdx扩展学习之Box2D_刚体和形状

2.Libgdx扩展学习之Box2D_刚体和形状

Unity物理组件之刚体Rigidbody