cocos2dx 3.X刚体update穿透问题。刚体A在update中通过摇杆移动,设置的和刚体
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cocos2dx 3.X刚体update穿透问题。刚体A在update中通过摇杆移动,设置的和刚体相关的知识,希望对你有一定的参考价值。
cocos2dx 3.X刚体update穿透问题。刚体A在update中通过摇杆移动,设置的和刚体B发生碰撞。但刚体A有时会穿过刚体B,或者嵌入到刚体B中再反弹出去。这怎么解决了?刚体A,B都为静态不规则刚体。
physicsworld所属的物理引擎bug很多,不建议使用,建议重构代码用box2d作为物理引擎,也带有不规则物体的生成方法,并且刚体可以添加子弹(bullet)属性,bullet属性会使运动物体的碰撞检测更加精确,box2d几乎不会出现刚体嵌入的情况。为了防止嵌入发生在使刚体移动时最好使用改变速度的方法而不是直接改变位置,还有什么问题可以继续问 参考技术A 看代码吧 至于逻辑自行处理吧void HelloWorld::objectMoveByJoystick()
//
if (!m_iscontact)
CCPoint pos = m_pS->getPosition();
pos.x += m_x * m_speed;
pos.y += m_y * m_speed;
//m_pS->getPhysicsBody()->setVelocity(200,0);这样则不会穿透
auto moveto = MoveTo::create(0.9f, pos);
m_pS->runAction(moveto);//这样控制精灵移动就会出现穿透
参考技术B local function update(delta)
for i=1,3 do
cc.Director:getInstance():getRunningScene():getPhysicsWorld():step(1/180.0)
end
end
cc.Director:getInstance():getScheduler():scheduleScriptFunc(update,0,false)
pycharm多行注释
选中需要注释的代码
ctrl+/
#首字母大写
# test = ‘alex‘
# v = test.capitalize()
# print (v)
#
# 字符串的加法
# n1 = ‘my ‘
# n2 = ‘ name ‘
# n3 = ‘is ‘
# n = n1 + n2 + n3
#
# print (n)
以上是关于cocos2dx 3.X刚体update穿透问题。刚体A在update中通过摇杆移动,设置的和刚体的主要内容,如果未能解决你的问题,请参考以下文章