let scene = NewTriviaScene(fileNamed: "NewTriviaScene")
scene?.scaleMode = .aspectFill
self.view?.presentScene(scene!, transition: SKTransition.flipHorizontal(withDuration: 0.42)) // or whatever other transition
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
for t in touches {
let loc = t.location(in: self)
if atPoint(loc).name == "someName" { }
1 回答
不确定你是否还在尝试这样做,但你可以很容易地在UIKit和SpriteKit场景之间转换,做类似的事情:
您只需要创建一个包含所需内容的.sks场景,并将其“自定义类”设置为您也创建的快速代码文件 . 那个快速的代码文件将导入SpriteKit并成为SKScene:
然后,您可以在此代码文件中添加自定义行为和动画,并响应触摸和其他事件 . 对于琐事,猜测你主要是关注触摸事件 . 您可以在sks文件中命名节点,并在touches方法中引用它们,如:
然后你可以像以前一样,在触摸事件或分数或其他内容中加载新的UIKit场景 .