【发布时间】:2014-10-10 22:09:34
【问题描述】:
所以今天我在一段时间后(半年?加上之前我不是什么好人哈哈......)回到编码并想拿起 Swift,但这在我什至还没给它一个之前就阻止了我很好的尝试:
顺便说一句,我正在尝试制作一个“myWorld”变量,稍后将充当场景处理程序,嗯,你明白了......
http://postimg.org/image/4n1izokcj/ (stackoverflow上看不到这个错误,上传分辨率小...)
对我来说用于初始化新 SKNode 的旧 Obj-C 方式:
@interface Level() {
SKNode* myWorld;
}
@implementation Level
-void setUpScene {
myWorld = [SKNode node]
[self addChild:myWorld]
}
我认为应该工作的新 Swift 方式:
var myWorld:SKNode?
class Level:SKScene {
func setUpScene() {
myWorld = SKNode.node()
self.addChild(myWorld!)
}
}
我做错了什么? (“myWorld!= SKNode.node()”也一样...)
请不要有火焰。
感谢任何建设性的回复^__^
【问题讨论】:
-
我相信你必须用
!解开SKNode。尝试使用SKNode!.node() -
在 obj-c 示例中,myWorld 是一个实例变量。在您的快速代码中,它是一个全局变量。你应该把 var myWorld:SKNode?在你的类声明中,如果你希望它是一个实例变量。
标签: objective-c swift sprite-kit