cocos2dx 3.X刚体update穿透问题。刚体A在update中通过摇杆移动,设置的和刚体 100

cocos2dx3.X刚体update穿透问题。刚体A在update中通过摇杆移动,设置的和刚体B发生碰撞。但刚体A有时会穿过刚体B,或者嵌入到刚体B中再反弹出去。这怎么... cocos2dx 3.X刚体update穿透问题。刚体A在update中通过摇杆移动,设置的和刚体B发生碰撞。但刚体A有时会穿过刚体B,或者嵌入到刚体B中再反弹出去。这怎么解决了?刚体A,B都为静态不规则刚体。 展开
 我来答
黑猫游戏小屋
2015-07-24 · 超过15用户采纳过TA的回答
知道答主
回答量:23
采纳率:0%
帮助的人:20.5万
展开全部
physicsworld所属的物理引擎bug很多,不建议使用,建议重构代码用box2d作为物理引擎,也带有不规则物体的生成方法,并且刚体可以添加子弹(bullet)属性,bullet属性会使运动物体的碰撞检测更加精确,box2d几乎不会出现刚体嵌入的情况。为了防止嵌入发生在使刚体移动时最好使用改变速度的方法而不是直接改变位置,还有什么问题可以继续问
nirendao1980
2015-10-21
知道答主
回答量:13
采纳率:0%
帮助的人:1.4万
展开全部
看代码吧 至于逻辑自行处理吧

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);//这样控制精灵移动就会出现穿透

}

}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2016-06-06
展开全部
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)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式