【问题标题】:New swift syntax for initialisation of SKNode?用于初始化 SKNode 的新快速语法?
【发布时间】: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


【解决方案1】:

好吧,我只是瞎了眼……语法是

myWorld = SKNode()

& 不是

myWorld = SKNode.node()

jeez...随时删除这个问题编辑...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-30
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 2018-04-05
    • 1970-01-01
    • 2015-08-14
    • 2016-05-27
    相关资源
    最近更新 更多