我想用变量改变我的SKNode的大小,因此可以使用for循环将其缩小。它给了我一个错误:
找不到类型'CGSize'的初始值设定项,它接受类型'(width:...,height:...)'的参数列表
for (var i = 0.9; i > 0.0; i -= 0.1){
for (var k = 1.25; i > 0.0; i -= 0.1){
self.sun.size = CGSize(width: self.size.width * i, height: self.size.height * k) // error here
}
}
答案 0 :(得分:0)
您的代码无效,因为self.size.width
为CGFloat
且i
为Double
(与self.size.height
和k
相同)。 CGFloat
不能乘以Double
。请尝试下面的代码。
for (var i = CGFloat(0.9); i > 0.0; i -= 0.1){
for (var k = CGFloat(1.25); i > 0.0; i -= 0.1){
self.sun.size = CGSize(width: self.size.width * i, height: self.size.height * k) // error here
}
}
我已经使用Xcode 7和Swift 2.0进行了测试。如果出现问题,下面的代码肯定会有效
for (var i = 0.9; i > 0.0; i -= 0.1){
for (var k = 1.25; i > 0.0; i -= 0.1){
self.sun.size = CGSize(width: self.size.width * CGFloat(i), height: self.size.height * CGFloat(k)) // error here
}
}
答案 1 :(得分:0)
我运行了这个SKAction代码而不是ABakerSmith建议的for循环,它看起来更清晰。
var shrinkSun = SKAction.scaleBy(0.5, duration: 2)
self.sun.runAction(shrinkSun)