cocos2d-xでスマホを傾けて遊べるゲームを作りたいです。
cocos2d-x 3.8を使って開発しています、
スマホを傾けて遊ぶゲームを作ろうとしています。
2年ほど前からcocos2d-xが用意している
setAccelerometerEnabled
を使ってみているのですが
どうしても
Device::setAccelerometerEnabled(true);
auto accelerationListener
= EventListenerAcceleration::create(CC_CALLBACK_2(HelloWorldScene::onAcceleration, this));
getEventDispatcher()->addEventListenerWithSceneGraphPriority(accelerationListener, this);
void HelloWorldScene::onAcceleration(Acceleration* acc, Event* event)
{
(float) accx = acc->x;
(float) accy = acc->y;
}
として使っていると、iPhone 4/5s/6sの実機たちで確認をすると
途中から角度が安定しなくなり、値がおかしくなってしまうバグがあります。
Director::getInstance()->pause();
Director::getInstance()->resume();
と、一度ポーズをしてから再開すると
値が通常通りに戻ってはくれるのですが、
またしばらくすると角度がおかしくなってしまいます。
ゲーム全体を一度 止めて再開させているので、ゲームの動きに影響があり困っています。
なにか、setAccelerometerEnabled
だけをポーズさせる方法や
他に良い解決方法などございましたら教えて頂けると幸いです。
よろしくお願いします。