大家好我是cocos2dx的新人。
最近在学习cocos2dx,看着教程试着自己做个小游戏。
游戏的内容大概是随着用户点击屏幕,物理世界的重力就会左右变换,来达到主角精灵的左右晃动。
但是我遇到的问题是经过一段时间的运行,精灵自身会发生旋转,有时候y坐标还会发生移动。下面贴一下精灵physicsbody的代码。
auto body = PhysicsBody::create();
auto shapeBox = PhysicsShapeBox::create(sprite->getContentSize(), PHYSICSSHAPE_MATERIAL_DEFAULT, Point::ZERO);
body->addShape(shapeBox);
body->setDynamic(true);
body->setGravityEnable(true);
body->setCollisionBitmask(0x03);
body->setContactTestBitmask(true);
```
然后改变重力是用以下代码
if(moveDirection == MOVE_RIGHT)
{
this->changeMoveDirection(MOVE_LEFT);
this->world->setGravity(Vec2(-100, 0));
}
else if (moveDirection == MOVE_LEFT)
{
this->changeMoveDirection(MOVE_RIGHT);
this->world->setGravity(Vec2(100, 0));
}
```
现在我是不知道为什么会出现我说的那种问题,也不知道是不是代码有问题,所以请大虾们帮我看看。。。 谢谢。