ios – SpriteKit – didMovetoView未被调用
发布时间:2020-12-14 19:29:24 所属栏目:百科 来源:网络整理
导读:这是我的视图控制器代码 import UIKitimport SpriteKitimport GameplayKitclass GameViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() if let view = self.view as! SKView? { // Load the SKScene from 'GameScene.s
这是我的视图控制器代码
import UIKit import SpriteKit import GameplayKit class GameViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() if let view = self.view as! SKView? { // Load the SKScene from 'GameScene.sks' if let scene = SKScene(fileNamed: "GameScene") { // Set the scale mode to scale to fit the window scene.scaleMode = .aspectFill // Present the scene view.presentScene(scene) } view.ignoresSiblingOrder = true view.showsFPS = true view.showsNodeCount = true } } 这是我的GameScene代码 import SpriteKit import GameplayKit class GameScene: SKScene { override func didMove(to view: SKView) { print("gets called") } 但由于某些原因,在调试区域,它没有打印“被调用”,这表明didMove甚至没有被调用.这里发生了什么事?我错过了什么吗? 解决方法
iOS 9的方式
在你的GameViewController中尝试直接呈现你的GameScene而不是通用的SKScene. if let scene = GameScene(fileNamed: "GameScene") { ... 请记住,“fileNamed”不是.swift文件的名称,它是用于xCode级别编辑器的.sks文件的名称. 新的iOS 10方式 苹果现在似乎更愿意通过一个通用的SKScene,就像你正在尝试的那样. if let scene = SKScene(fileNamed: "GameScene") { ... } 要使其工作,请转到相关的.sks文件并转到右侧的检查器.单击第二个最后一项(自定义类),然后在自定义类字段中输入.swift文件的名称. 希望这可以帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |