Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在iOS的Swift中渲染Sprite_Ios_Swift - Fatal编程技术网

在iOS的Swift中渲染Sprite

在iOS的Swift中渲染Sprite,ios,swift,Ios,Swift,就iOS开发和Swift而言,我是一个彻头彻尾的noob。这是非常基本的,但我似乎不明白它有什么问题 编译器没有抛出任何错误。映像文件位于项目(image.xcsets)中,并进行了适当的命名。UIcolor语句正在按预期工作。但是,该代码不会在屏幕上渲染精灵。节点计数为零。我错过了什么 代码如下: import SpriteKit class GameScene: SKScene { override func didMoveToView(view: SKView) {

就iOS开发和Swift而言,我是一个彻头彻尾的noob。这是非常基本的,但我似乎不明白它有什么问题

编译器没有抛出任何错误。映像文件位于项目(image.xcsets)中,并进行了适当的命名。UIcolor语句正在按预期工作。但是,该代码不会在屏幕上渲染精灵。节点计数为零。我错过了什么

代码如下:

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)
}

我认为你的评论是有效的,但是你的代码不能正常工作。我得到一个运行时错误。宾果。你搞定了。非常感谢!很抱歉,由于我的身份,我无法增加声誉。没问题,很高兴这对我有所帮助。