Я сделал игру, в которой мне нужно было нанести коснутый 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», но это не имеет никакого эффекта.
Если у вас есть решение, я хотел бы это узнать!
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.
Если вы уверены, что тип nodeAtPoint (location) - это MyCustomClass, почему вам нужно его использовать? – user3441734
Я знаю только в этом конкретном тесте, который я понял, чтобы понять, почему на iOS 8.4 ничего не работает. –
Ваш «конкретный» тест зависит от версии iOS ... или лучше сказать, что часть вашего кода зависит от версии iOS. Быстрое заявление в вашем примере НЕ – user3441734