Swift 带 UIImage 的 SKSpriteNode

Swift SKSpriteNode with UIImage

我在使用 UIImage 创建 SKSpriteNode 时遇到问题。 我正在使用 PaintCode 创建我用于我的应用程序的资产(PaintCode 创建一个 Swift 文件,其中包含允许我显示创建的图像的绘图方法和图像方法)。

我现在的问题是我想使用我的 PaintCode 图像创建一个简单的 SKSpriteNode,但我不知道如何将它们添加到 SpriteNode。

我试过这样的事情(第 18 行):

let Bottom = SKSpriteNode(texture: SKTexture(image: StyleKitName.drawBottom(frame: CGRect(x: 50, y: 50, width: 50, height: 50), isWinter: false)))

但它 returns 出现以下错误:

/Users/myMacName/Documents/App Development/AppName/AppName/GlobalFunctions.swift:18:44: Cannot find an initializer for type 'SKTexture' that accepts an argument list of type '(image: ())'

StyleKitName.drawBottom函数returns一个UIImage。 如果有人能告诉我如何用 UIImage 创建 SKSpriteNode 就好了。

感谢您的帮助。谢谢

如果你有一个 UIImage,你可以用它同样地制作一个 sprite 节点:

let Image = //do your setup here to make a UIImage
let Texture = SKTexture(image: Image)
let Sprite = SKSpriteNode(texture:Texture)

我不确定你在哪里或如何调用这些方法,但我可以保证这些是正确的初始值设定项。

如果你想从场景编辑器连接它

    let movieImage = self.childNode(withName: "MovieImage") as! SKSpriteNode?
    let Image = UIImage(named: "imageName")
    let Texture = SKTexture(image: Image!)
    movieImage?.texture = Texture

如果你有一个 iPad 并且想将 UIImage 分配给 SKSpriteNode

let myImage = SKSpriteNode(texture:SKTexture(image: UIImage))

现在您可以从 iPad 上的文件应用程序导入图像并轻松地为其分配图像。