【发布时间】:2017-05-05 04:50:33
【问题描述】:
我希望在场景前出现一个视图来模拟文本框旁白。由于 SklabelNode 的限制,我更喜欢使用 UILabel 的动画功能和文本换行功能。
gameScene.swift 中的代码
var viewController = GameViewController()
override func didMove(to view: SKView) {
viewController.printStuff()
viewController.uiLabelContainer.isHidden = false
}
GameViewController.swift 中的代码
override func viewDidLoad() {
super.viewDidLoad()
// Load 'GameScene.sks' as a GKScene. This provides gameplay related content
// including entities and graphs.
if let scene = GKScene(fileNamed: "GameScene") {
// Get the SKScene from the loaded GKScene
if let sceneNode = scene.rootNode as! GameScene? {
// Copy gameplay related content over to the scene
sceneNode.entities = scene.entities
sceneNode.graphs = scene.graphs
// Set the scale mode to scale to fit the window
sceneNode.scaleMode = .aspectFill
sceneNode.viewController = self
// Present the scene
if let view = self.view as! SKView? {
view.presentScene(sceneNode)
view.ignoresSiblingOrder = true
view.showsFPS = true
view.showsNodeCount = true
}
}
}
uiLabelContainer.isHidden = true
}
func printStuff() {
print("this works, calling from gameviewcontroller")
}
从 gameviewcontroller 调用函数可以工作,甚至可以打印 UILabel 上的内容(访问来自另一个类的变量或对象的数据)。但是,将其中一个对象(uiLabelContainer)的属性从 gameViewController 更改为 .isHidden = false 似乎不起作用。
【问题讨论】:
标签: swift3 sprite-kit