ios竖排解锁后重力感应坐标的问题

我打算用cocos2d-x做一个重力感应的游戏,相关代码如下

//GameScene.h
class GameScene : public cocos2d::Layer
{
public:
virtual bool init();
//重写重力感应函数
virtual void didAccelerate(Acceleration* acc, Event* event);
CREATE_FUNC(GameScene);
private: //注意不能用auto关键字
Size size;
Sprite sprite;
};
//GameScene.cpp
//初始化当前的图层
bool GameScene::init()
{
if(!Layer::init()) //初始化父类
return false;
//获取屏幕大小
size = Director::getInstance()->getVisibleSize();
//auto size = Director::getInstance()->getWinSize();
//添加一个图片精灵
sprite = Sprite::create(“OnePiece_1.png”);
sprite->setPosition(Vec2(size.width/2, size.height/2));
sprite->setTag(12);
this->addChild(sprite);
//开启重力感应
Device::setAccelerometerEnabled(true);
//创建事件监听对象
auto listener = EventListenerAcceleration::create(CC_CALLBACK_2(GameScene::didAccelerate, this));
//在事件监听器中注册
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);
return true;
}
void GameScene::didAccelerate(Acceleration
acc, Event* event)
{
//使精灵随重力感应移动
auto sprite = this->getChildByTag(12); //通过标签获取精灵
auto pos = sprite->getPosition();
pos.x += acc->x;
pos.y += acc->y;
//pos.y += acc->y * 10; //调整敏感度
sprite->setPosition(pos);
}


但是现在真机调试时遇到一个问题,如果不打开手机竖屏锁定,当横竖屏切换时,x,y坐标系变化,导致精灵一下子猛的偏出预期方向很远。只有打开手机竖屏锁定,精灵才能完美的按照重力感应移动。请问应该怎样修改代码?:3: :3: :3:

哪位大神指点一下?

问题解决了,只要在代码中将游戏固定为竖屏就可以了。