隐藏物理 body 边界
Hiding physic body boundaries
有人body可以帮我解决隐藏可见物理body边界的问题吗?我尝试在 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);
}
当我的球精灵添加到场景时,它有一个红色的圆圈边界
大约。我所有其他 objects 也有。我知道这取决于:
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);
我建议将其注释掉,以免在需要时使用谷歌搜索重新打开调试显示。
有人body可以帮我解决隐藏可见物理body边界的问题吗?我尝试在 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);
}
当我的球精灵添加到场景时,它有一个红色的圆圈边界 大约。我所有其他 objects 也有。我知道这取决于:
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);
我建议将其注释掉,以免在需要时使用谷歌搜索重新打开调试显示。