【发布时间】:2015-11-23 02:26:25
【问题描述】:
我正在尝试将现有的 Objective-C 代码行翻译成 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)
我仍然遇到同样的错误。
我做错了什么?
非常感谢。
【问题讨论】: