2015-11-17 4 views
2

Я сделал игру, в которой мне нужно было нанести коснутый SKSpriteNode в пользовательский класс. Он отлично работает на симуляторе iOS 9.1, но, похоже, он вообще не отображается в симуляторе iOS 8.4.Настройка пользовательского класса в Xcode работает для симулятора iOS 9.1, но не iOS 8.4

В iOS 9.1 мой класс является типом MyCustomClass, но в iOS 8.4 это SKSpriteNode. Ничего другого не изменилось, только симулятор OS.

Я установил пользовательский класс непосредственно в Xcode в SpriteKit GameScene (я нажимаю на узел и использую правую вкладку для ввода «MyCustomClass» в разделе «Пользовательский класс»). Я попытался добавить название проекта, как в «Project.MyCustomClass», но это не имеет никакого эффекта. How I set my custom class in Spritekit Scene

Если у вас есть решение, я хотел бы это узнать!

if self.nodeAtPoint(location).isKindOfClass(MyCustomClass) { 
    print("Is my class") //This is the result in iOS 9.1 
}else if self.nodeAtPoint(location).isKindOfClass(SKSpriteNode){ 
    print("Is an SKSPriteNode") //This is the result in iOS 8.4 
}else if self.nodeAtPoint(location).isKindOfClass(SKNode) { 
    print("Is an SKNode") 
} 

if let touchedNode = self.nodeAtPoint(location) as? Objet { 
    //Fails on iOS 8.4 but succeed in iOS 9.1 
} 

Спасибо за ваше время.

PS: Я использую Xcode 7.1.1.

+0

Если вы уверены, что тип nodeAtPoint (location) - это MyCustomClass, почему вам нужно его использовать? – user3441734

+0

Я знаю только в этом конкретном тесте, который я понял, чтобы понять, почему на iOS 8.4 ничего не работает. –

+1

Ваш «конкретный» тест зависит от версии iOS ... или лучше сказать, что часть вашего кода зависит от версии iOS. Быстрое заявление в вашем примере НЕ – user3441734

ответ

0

К сожалению, пользовательские классы (или подклассы) просто не работают на iOS 8.4.

Мне пришлось переписать мою логику.

Спасибо за вашу помощь в любом случае.

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

  • Нет связанных вопросов^_^