Cocos2dx 4.0, iPhoneX вызывает TouchMoved при касании экрана - PullRequest
0 голосов
/ 10 апреля 2020

В iPhoneX при прикосновении к экрану он вызывает оба метода TouchBegan и onTouchMoved ... ... даже если палец не двигается. Тот же код прекрасно работает в устройстве iPhone6. В iPhone6 ​​он просто вызывает TouchBegan. Как избежать onTouchMoved при касании экрана в устройстве iPhoneX?

Вот код:

void FWGGameScene::createTouchEvent()
{
    mTouchListener = EventListenerTouchOneByOne::create();

    mTouchListener->onTouchBegan = CC_CALLBACK_2(FWGGameScene::onTouchBegan, this);
    mTouchListener->onTouchEnded = CC_CALLBACK_2(FWGGameScene::onTouchEnded, this);
    mTouchListener->onTouchMoved = CC_CALLBACK_2(FWGGameScene::onTouchMoved, this);
    mTouchListener->onTouchCancelled = CC_CALLBACK_2(FWGGameScene::onTouchCancelled, this);

    _eventDispatcher->addEventListenerWithSceneGraphPriority(mTouchListener, this);
}

bool FWGGameScene::onTouchBegan(Touch* touch, Event* event)
{
    float x = touch->getLocation().x ;
    float y = touch->getLocation().y ;

    Vec2 pos = getFishPosition(Vec2(x,y));
    UpdateGameOnTouchBegan(pos);

    return true;
}

void FWGGameScene::onTouchMoved(Touch* touch, Event* event)
{
    float x = touch->getLocation().x ;
    float y = touch->getLocation().y ;

    Vec2 pos = getFishPosition(Vec2(x,y));
    UpdateGameOnTouchMoved(pos);
}

Как исправить проблемы в iPhoneX?

...