我试图在Xcode 7 Beta上制作游戏,我几乎完成了它,但问题是我不知道如何使用Swift代码放置按钮,我试图将它们放在Main.storyboard上,但是他们没有安排很好。其中一些变得更大,一些更小等...所以我想知道如何把这些按钮与代码如下图所示。左边的蓝色按钮是排行榜,然后是Facebook分享,推特分享和另一个默认按钮(也许是删除广告)
然后我尝试使用一些代码:
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个错误,这次他们说“'*'不是前缀一元运算符”,在这种情况下该怎么办?有人能帮助我吗?
答案 0 :(得分:2)
要解决编译错误,你基本上只需要在*
之后添加一个空格,但最好使用更像Swift的风格:
myNode.position = CGPoint(x: frame.maxX * 0.4, y: frame.maxY * 0.25)
至于位置,请调整x
坐标。对于尺寸最容易的是提供相同尺寸的图像,所以你不必缩放它们?