我在使用UIImage创建SKSpriteNode时遇到问题。 我正在使用PaintCode创建我用于App的资源(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,那将是很好的。
我感谢任何帮助。感谢。
答案 0 :(得分:13)
如果你有一个UIImage,你可以用它来制作一个精灵节点:
let Image = //do your setup here to make a UIImage
let Texture = SKTexture(image: Image)
let Sprite = SKSpriteNode(texture:Texture)
我不确定你在何处或如何调用这些方法,但我可以确保这些是正确的初始化器。
答案 1 :(得分:0)
如果您想从场景编辑器
连接它 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:spinnerStyle">@style/holoSpinner</item>
</style>
<style name="holoSpinner" parent="Widget.AppCompat.Spinner.Underlined">
<item name="android:textSize">16sp</item>
<item name="android:textColor">@color/colorPrimary</item>
</style>
答案 2 :(得分:0)
如果你有一台 iPad 并且想将 UIImage 分配给 SKSpriteNode
let myImage = SKSpriteNode(texture:SKTexture(image: UIImage))
现在您可以从 iPad 上的文件应用程序导入图像,并轻松地将图像分配给它。