Swift:SpriteKit 没有以正确的大小渲染 Sprite

标签 swift sprite-kit xcode6 skspritenode

编辑 3:嗯,我已经解决了这个问题。似乎在 iOS 8 中,您现在可以从 scene.sks 文件加载场景。所以在这种情况下,游戏正在加载一个分辨率为 1024x768 的 .sks 文件。这就是图像未正确显示的原因。将 ViewController 更改为在 iOS 8 之前工作(这里有解释:Swift and Spritekit won't run on device running iOS 7.1)似乎可以解决问题。感谢所有试图帮助我的人。 :D

我正在使用最新的 Xcode beta 在 SpriteKit 和 Swift 中创建游戏(好吧,我正在移植我已经在 Obj-C 中制作的游戏)。我有一个问题,那就是 SpriteKit 似乎没有正确渲染我的 Sprite ,渲染它们的尺寸比它应该的尺寸小。如果我以原生 iPhone 分辨率提供背景,请使用以下代码添加它:

    let background = SKSpriteNode(imageNamed: backgroundName)
    background.position = CGPoint(x: self.size.width / 2, y: self.size.height / 2)
    self.addChild(background)

产生这个:

SKFail

Sprite 图片比它应该的小,因为图片是 640x1136。我错过了什么吗?

编辑:好吧,看起来图像缩小了大约 50%。使它们大 50% 正确显示它们,但它们的尺寸错误(大 50%)...

编辑 2:好吧,这是我使用的图像分辨率正确的证据:enter image description here

最佳答案

我遇到了同样的问题。您必须一次且仅声明一次纹理,然后将其加载到每个 Sprite 中。如果你 println(" Sprite :\( Sprite )") 你的 Sprite 你会看到纹理丢失。

class test : SKSpriteNode
{
    let textureImage = SKTexture(imageNamed:"spriteImage")


    func load sprites() {

        sprite = SKSpriteNode(texture: textureImage )
    }
}

关于Swift:SpriteKit 没有以正确的大小渲染 Sprite ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24715371/

相关文章:

swift - iOS – ARKit 节点在 100 米后消失

ios - 强制单轴速度

ios - swift 中的 C 数组内存释放

ios - 键值观察 exposureDuration

ios - SnapKit 和动态 UITableViewCell 布局不正确

audio - 首次使用 SpriteKit 播放声音时的小延迟

core-data - Xcode 6 核心数据重新生成子类

ios - 将 dSYM 上传到 crashlytics 时出现问题

ios - 在 xCode 6.1 (Swift) 中为 UITextField 创建通用填充/插入

ios - 调用 performSeguewithIdentifier 不会调用 shouldperformseguewithIdentifier