刚刚测试了下,在win10手机上打包uwpcocos游戏。其中的重力感应在android上运行正常,在win10手机上感应不到。
不知道是是cocos本身不支持还是win10手机上要做相关的配置。
uwp是支持的,默认不需要开启任何设置。但是代码需要和test-cpp中保持一致。
Vec2 origin = Director::getInstance()->getVisibleOrigin();
Size size = Director::getInstance()->getVisibleSize();
Device::setAccelerometerEnabled(true);
auto sprite = Sprite::create(s_Ball);
sprite->setPosition(origin + Vec2(size.width/2, size.height/2));
addChild(sprite);
auto listener = EventListenerAcceleration::create(=](Acceleration* acc, Event* event){
auto ballSize = sprite->getContentSize();
auto ptNow = sprite->getPosition();
log("acc: x = %lf, y = %lf", acc->x, acc->y);
ptNow.x += acc->x * 9.81f;
ptNow.y += acc->y * 9.81f;
FIX_POS(ptNow.x, (VisibleRect::left().x+ballSize.width / 2.0), (VisibleRect::right().x - ballSize.width / 2.0));
FIX_POS(ptNow.y, (VisibleRect::bottom().y+ballSize.height / 2.0), (VisibleRect::top().y - ballSize.height / 2.0));
sprite->setPosition(ptNow);
});
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener, sprite);





