C++ 隐藏物理体边界

C++ 隐藏物理体边界,c++,cocos2d-x,C++,Cocos2d X,有人能帮我解决隐藏可见物理体边界的问题吗?我尝试在cocos2d-x v3.5上创建简单的突破游戏,并编写代码添加球的外观: void Arkanoid::CreateBall() { m_pBall = Sprite::create("ball.png"); m_BallPosition = Vec2(m_PaddlePosition.x, m_PaddlePosition.y + m_pPaddle->getContentSize().height); m_pB

有人能帮我解决隐藏可见物理体边界的问题吗?我尝试在cocos2d-x v3.5上创建简单的突破游戏,并编写代码添加球的外观:

void Arkanoid::CreateBall()
{
    m_pBall = Sprite::create("ball.png");
    m_BallPosition = Vec2(m_PaddlePosition.x, m_PaddlePosition.y + m_pPaddle->getContentSize().height);
    m_pBall->setPosition(m_BallPosition);
    m_pBall->setScale(0.7);

    m_pBallBody = PhysicsBody::createCircle(BALL_RADIUS, PHYSICSBODY_MATERIAL_DEFAULT);
    m_pBallBody->setContactTestBitmask(true);
    m_pBallBody->getShape(0)->setRestitution(1.0f);
    m_pBallBody->getShape(0)->setFriction(0.0f);
    m_pBallBody->getShape(0)->setDensity(1.0f);
    m_pBallBody->setDynamic(true);
    m_pBallBody->setGravityEnable(false);
    m_pBallBody->setVelocityLimit(1000.f);

    m_pBall->setTag(1);
    m_pBall->setPhysicsBody(m_pBallBody);

    this->addChild(m_pBall);
}
当我的球精灵添加到场景中时,它有一个红色的圆边界 围绕我所有的其他对象也有它。我知道这取决于:

m_pBallBody = PhysicsBody::createCircle(BALL_RADIUS, PHYSICSBODY_MATERIAL_DEFAULT);
m_pBall->setPhysicsBody(m_pBallBody);

但是我不知道如何隐藏它们。也许可以在不同的层上创建physic body和sprite?

这就是调试显示。寻找:

->setDebugDrawMask(PhysicsWorld::DEBUGDRAW_ALL);
删除或注释此行,或将其更改为

->setDebugDrawMask(PhysicsWorld::DEBUGDRAW_NONE);

我建议您对其进行注释,以避免在需要时通过谷歌搜索重新打开调试显示的麻烦。

已打开DebugDraw。检查是否覆盖了
void draw()
方法或任何
setDebugDrawMask
方法调用。非常感谢!我有
getDebugDrawMask(PhysicsWorld::DEBUGDRAW\u ALL)
方法调用