2015-10-09 6 views
4

Я уже некоторое время создаю игру SpriteKit. Его карточная игра, позволяющая использовать двойное нажатие на спрайты для справки по конкретному поведению. Теперь, когда мы находимся в iOS 9, двойные краны вообще не работают на iPhone 6s. Прекрасно работает на iOS8, на всех устройствах.iOS 9 Spritekit Двойной контакт не работает на iPhone 6S

В моих SKScene, я использую метод touchesBegan для обнаружения кранов:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
    UITouch *touch = [touches anyObject]; 
    CGPoint touchLocation = [touch locationInNode:self]; 

    if(touch.tapCount==2) { 
     NSLog(@"double-tap, but not for iPhone 6s"); 
    } 
} 

Есть ли что-нибудь новое с iOS9 или 6сом конкретно (3d сенсорными?), Которая должна быть реализована в настоящее время для SpriteKit игр ?

Хотелось бы отметить, что это отлично работает в симуляторе iPhone 6s, но оно не на самом устройстве.

Кроме того, touch.tapCount сообщит о 3, 4, 5, 6, 7 и т. Д. Кранах, но полностью пропускает только второй кран.

+0

Я просто обновляю свой вопрос еще немного информации. Обнаружены 3-й, 4-й, 5-й кран и т. Д. Просто не второй конкретно. –

+0

@EpicByte, я только что опубликовал свой ответ. Я работал, но не так, как вы ожидали. –

ответ

1

Согласно https://developer.apple.com/library/prerelease/ios/releasenotes/General/RN-iOSSDK-9.1/

UIKit 
Note 
On 3D Touch capable devices, touch pressure changes cause 
touchesMoved:withEvent: to be called for all apps running on iOS 9.0. 
When running iOS 9.1, the method is called only for apps 
linked with the iOS 9.0 (or later) SDK. 

Apps should be prepared to receive touch move events 
with no change in the x/y coordinates. 

Так что, если эта проблема может быть вызвана touchMoved.

+0

Это был правильный ответ. Благодаря! В touchhesBegin нам нужно сделать снимок начального касания, а затем непрерывно проверять и возвращать пустоту от касанийМодушно, если текущее касание x/y совпадает с начальным касанием –

1

Итак, двойные краны работают, как. На iPhone 6s игра, хотя и сообщает 60 кадров в секунду через skView.showsFPS = YES;, работает очень лаконично. Я только что обнаружил, что я могу заставить краны работать, если я постучу медленно, как в ожидании одну целую секунду между первым и вторым краном.

Теперь о том, почему эта игра настолько медленная на этом устройстве. Его даже не IOS 9 вопрос, потому что игра прекрасно работает на моих 5s ж/прошивкой 9.

Смежные вопросы