在iOS的Swift中渲染Sprite
就iOS开发和Swift而言,我是一个彻头彻尾的noob。这是非常基本的,但我似乎不明白它有什么问题 编译器没有抛出任何错误。映像文件位于项目(image.xcsets)中,并进行了适当的命名。UIcolor语句正在按预期工作。但是,该代码不会在屏幕上渲染精灵。节点计数为零。我错过了什么 代码如下:在iOS的Swift中渲染Sprite,ios,swift,Ios,Swift,就iOS开发和Swift而言,我是一个彻头彻尾的noob。这是非常基本的,但我似乎不明白它有什么问题 编译器没有抛出任何错误。映像文件位于项目(image.xcsets)中,并进行了适当的命名。UIcolor语句正在按预期工作。但是,该代码不会在屏幕上渲染精灵。节点计数为零。我错过了什么 代码如下: import SpriteKit class GameScene: SKScene { override func didMoveToView(view: SKView) {
import SpriteKit
class GameScene: SKScene {
override func didMoveToView(view: SKView) {
self.backgroundColor = UIColor.blueColor()
let ball : SKSpriteNode = SKSpriteNode(imageNamed: "ball")
self.addChild(ball)
}
}
据我所知,你需要用尺寸初始化。试着这样做:
import SpriteKit
class GameScene: SKScene {
init(size: CGSize) {
super.init(size: size)
let ball = SKSpriteNode(imageNamed: "Ball")
addChild(ball)
}
}
你需要在屏幕上给精灵一个位置。SpriteKit不会绘制不在屏幕上的节点
override func didMoveToView(view: SKView) {
self.backgroundColor = UIColor.blueColor()
let ball : SKSpriteNode = SKSpriteNode(imageNamed: "ball")
self.addChild(ball)
}
试着换上这个,应该把球放在中央屏幕上
override func didMoveToView(view: SKView) {
self.backgroundColor = UIColor.blueColor()
let ball : SKSpriteNode = SKSpriteNode(imageNamed: "ball")
ball.position = CGPoint(x: self.size.width / 2, y: self.size.height / 2)
self.addChild(ball)
}
我认为你的评论是有效的,但是你的代码不能正常工作。我得到一个运行时错误。宾果。你搞定了。非常感谢!很抱歉,由于我的身份,我无法增加声誉。没问题,很高兴这对我有所帮助。