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)。 –
不,這不會改變一件事情。 –