文件夹中的图像未显示

时间:2017-02-14 21:02:50

标签: swift xcode skspritenode

刚开始使用XCode中的Swift,我已经完成了许多教程。不幸的是,他们没有涵盖一些必要的基础知识我已经导入了资产目录(包含子目录)并选择了“复制(根据需要)”。该文件夹为蓝色,显示在Build Phases - >复制捆绑资源。我使用了下面的简单线条,但图像仍然在模拟器中显示为红色“X”。我已经完成了清理/构建/重启,它仍然无法正常工作。

    if let ship = SKSpriteNode(fileNamed: "cannon.png")
    {
        ship.position = CGPoint(x: self.size.width/2, y: self.size.height/2)
        self.addChild(ship)
    }

引用的文件位于Assets/Sprite Images/cannon.png

如何让图像显示?

修改

我已经下载了Space Invaders Tutorial Starter Project,它使用了“Assets”文件夹的概念,正是我尝试过的。 “Images.xcassets”文件夹中没有列出任何内容,所以我不确定为什么我的加载没有。我是否需要将其识别为特定文件夹?

2 个答案:

答案 0 :(得分:0)

请改为尝试:

let texture = SKTexture(imageNamed: "myImage.png")
let ship = SKSpriteNode.init(texture: texture)

OR

let spaceship = SKSpriteNode(imageNamed: "myImage.png")

在任何一种情况下,请使用imageNamed

答案 1 :(得分:0)

我最终不得不将其添加为捆绑资源以使其可用。我选择顶级解决方案并进入以下区域:Build Phases-> Copy Bundle Resources

底部是+/-,您可以将单个项目添加到项目中。添加后,您将选择“复制(根据需要)”,该项目将显示在列表中。然后它可用于项目。不幸的是,在目录级别添加它并不起作用。

正如在其他搜索中所指出的那样,通常必须在文件检查器中选中“目标成员资格”框,但即使在此之后我也没有可用的复选框。

对于它的价值,似乎上述的组合解决了这个问题。