【发布时间】:2018-02-07 08:53:38
【问题描述】:
我无法通过触摸场景上的按钮来加载新场景。 按钮名称:BuStartGame 要加载的场景:CategoriesScene 要加载的场景类:CategoriesSceneClass。
这是我的代码。
import Foundation
import SpriteKit
import GameplayKit
import UIKit
class GameScene: SKScene {
override func touchesBegan(_ touches: Set<UITouch>, with event:UIEvent?){
for touch in touches {
let location = touch.location(in: self);
//Mark: ===================== StartGame
if atPoint(location).name == "BuStartGame"{
if let scene = CategoriesSceneClass(fileNamed:"CategoriesScene"){
scene.scaleMode = .aspectFill
view!.presentScene(scene, transition: SKTransition.doorsOpenVertical(withDuration: 2))
}
}
}
}
}
编辑: 我看到问题出在这段代码中。当我删除 IF 时,它可以工作,但作为一个按钮可以在整个场景中工作。
if atPoint(location).name == "BuStartGame"{
【问题讨论】:
-
如果你单步调试你的代码,它会调用
presentScene吗? -
看起来很奇怪,但是是的。我在现场还有另一个按钮。有的时候在模拟器上渲染,有的时候没有……
标签: ios swift sprite-kit uitouch