我制作了一个游戏,我需要将触摸的 SKSpriteNode 转换为自定义类。它在 iOS 9.1 模拟器上运行良好,但在 iOS 8.4 模拟器中似乎根本无法转换。
在 iOS 9.1 中,我的类是 MyCustomClass 类型,但在 iOS 8.4 中,它是 SKSpriteNode。没有其他任何改变,只有模拟器操作系统。
我在 SpriteKit GameScene 中的 Xcode 中直接设置了自定义类(我单击节点并使用右侧选项卡在“自定义类”部分输入“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。
最佳答案
可悲的是,自定义类(或子类)根本无法在 iOS 8.4 上运行。
我不得不重写我的逻辑。
无论如何,感谢您的帮助。
关于ios - 在 Xcode 中设置自定义类适用于 iOS 9.1 模拟器,但不适用于 iOS 8.4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33760450/