0
我试图将现有的Objective-C代码行转换为Swift。以下是我的。Swift错误:无法找到接受提供参数的' - '的重载
import UIKit
import SpriteKit
let kWorldWidth = 6324
let kWorldHeight = 620
let kWorldTileSize = 62
let kWorldCenterX = 3162
let kWorldCenterY = 310
class ViewController: UIViewController {
weak var scene : SKScene?
var backgroundTextures = NSMutableArray()
override func viewDidLoad() {
super.viewDidLoad()
loadWorldTiles()
}
func loadWorldTiles() {
let tileAtlas = SKTextureAtlas(named:"Tiles")
backgroundTextures = NSMutableArray(capacity: 1020)
for var y = 0; y < 10; y++ {
for var x = 0; x < 102; x++ {
let tileNumber = (y * 102) + x
let tileNode = SKSpriteNode(texture:tileAtlas.textureNamed(String(format:"%d",tileNumber)))
var position: CGPoint = CGPointMake(x*kWorldTileSize-kWorldCenterX+0.5*kWorldTileSize,kWorldHeight-y*kWorldTileSize-kWorldCenterY-0.5*kWorldTileSize)
tileNode.position = position
backgroundTextures.addObject(tileNode)
}
}
}
}
我得到一个错误,我有var位置。错误消息是无法找到接受提供的参数的' - '的重载。运行搜索,我发现当你没有显式声明变量类型时,你会得到这个错误。如果我创建像
var xval:CGFloat = x*kWorldTileSize-kWorldCenterX+0.5*kWorldTileSize
var yval:CGFloat = kWorldHeight-y*kWorldTileSize-kWorldCenterY-0.5*kWorldTileSize
var position: CGPoint = CGPointMake(xval,yval)
我仍然得到相同的错误。
我在做什么错?
Muchos thankos。
谢谢。但是,不,同样的错误盛行。 –
您的x和y值也会导致问题。尝试CGFloat(x)和CGFloat(y)。 –
不,这不会改变一件事情。 –