8

我在使用 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)))

但它返回以下错误:

/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 函数返回一个 UIImage。如果有人能告诉我如何使用 UIImage 创建 SKSpriteNode,那就太好了。

我很感激任何帮助。谢谢。

4

3 回答 3

17

如果你有一个 UIImage,你也可以用它创建一个精灵节点:

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

我不确定您在哪里或如何调用这些方法,但我可以保证这些是正确的初始化程序。

于 2015-08-10T15:50:58.450 回答
1

if you want connect it from Scene Editor

    let movieImage = self.childNode(withName: "MovieImage") as! SKSpriteNode?
    let Image = UIImage(named: "imageName")
    let Texture = SKTexture(image: Image!)
    movieImage?.texture = Texture
于 2017-07-20T07:23:30.450 回答
1

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

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

现在,您可以从 iPad 上的文件应用程序中导入图像,并轻松地将图像分配给它。

于 2021-04-16T12:04:38.037 回答