如何使用Xcode 7将SwileKit中的Button放入SpriteKit?

时间:2015-07-26 18:56:53

标签: swift button xcode7

我试图在Xcode 7 Beta上制作游戏,我几乎完成了它,但问题是我不知道如何使用Swift代码放置按钮,我试图将它们放在Main.storyboard上,但是他们没有安排很好。其中一些变得更大,一些更小等...所以我想知道如何把这些按钮与代码如下图所示。左边的蓝色按钮是排行榜,然后是Facebook分享,推特分享和另一个默认按钮(也许是删除广告)

enter image description here

然后我尝试使用一些代码:

override func didMoveToView(view: SKView) {
    backgroundColor = UIColor.whiteColor()


    leaderboard()
    facebookShare()
    twitterShare()
}




func leaderboard() {
   let myNode = SKSpriteNode(imageNamed: "buttonLeaderboard")
    myNode.position = CGPointMake(CGRectGetMaxX(self.frame) *0.40, CGRectGetMaxY(self.frame) * 0.25)
    self.addChild(myNode)
}


func facebookShare() {
    let facebookShareNode = SKSpriteNode(imageNamed: "buttonFacebookShare")
    facebookShareNode.position = CGPointMake(CGRectGetMaxX(self.frame) *0.60, CGRectGetMaxY(self.frame) * 0.25)
    self.addChild(facebookShareNode)
}


func twitterShare() {
    let twitterShareNode = SKSpriteNode(imageNamed: "buttonTwitterShare")
    twitterShareNode.position = CGPointMake(CGRectGetMaxX(self.frame) *0.80, CGRectGetMaxY(self.frame) * 0.25)
    self.addChild(twitterShareNode)
}

但它在这些代码上发现了3个错误

  

“myNode.position = CGPointMake(CGRectGetMaxX(self.frame)* 0.40,CGRectGetMaxY(self.frame)* 0.25)”

     

“facebookShareNode.position = CGPointMake(CGRectGetMaxX(self.frame)* 0.60,CGRectGetMaxY(self.frame)* 0.25)”

     

“twitterShareNode.position = CGPointMake(CGRectGetMaxX(self.frame)* 0.80,CGRectGetMaxY(self.frame)* 0.25)”

错误说“预期”,“分隔符”,但是当我做错误时它再次发现另外3个错误,这次他们说“'*'不是前缀一元运算符”,在这种情况下该怎么办?有人能帮助我吗?

1 个答案:

答案 0 :(得分:2)

要解决编译错误,你基本上只需要在*之后添加一个空格,但最好使用更像Swift的风格:

myNode.position = CGPoint(x: frame.maxX * 0.4, y: frame.maxY * 0.25)

至于位置,请调整x坐标。对于尺寸最容易的是提供相同尺寸的图像,所以你不必缩放它们?