我正在学习 SpriteKit,但我真的不明白精灵(SKSpriteNode)和纹理(SKTexture)之间的区别是什么。我知道两者都是图像,“SKSpriteNode 是当前绘制的图像,而 SKTexture 仅保存图像中的数据以便稍后在游戏中加载它,因此您保存一次图像,然后您可以将SKSpriteNode 中的纹理,当你想要的时候”。
感谢您的帮助;)
我正在学习 SpriteKit,但我真的不明白精灵(SKSpriteNode)和纹理(SKTexture)之间的区别是什么。我知道两者都是图像,“SKSpriteNode 是当前绘制的图像,而 SKTexture 仅保存图像中的数据以便稍后在游戏中加载它,因此您保存一次图像,然后您可以将SKSpriteNode 中的纹理,当你想要的时候”。
感谢您的帮助;)
想想 UIKit 中的 aUIImage
和 a UIImageView
。第一个是图像,而第二个是可以添加到视图(在给定位置)并可以存储图像的 UI 元素。SKTexture
和也会发生类似的情况SKSpriteNode
。
它首先是一个SKNode
.
它有一个position
,一个rotation
角度,一个scale
因素和一堆其他属性,包括一个SKTexture
。您可以在场景中添加SKSpriteNode
您的GameScene
(的子类)或另一个节点的子节点。SKScene
如果将SKSpriteNode
其添加到场景中,则SKTexture
根据应用于SKSpriteNode
(位置、旋转、缩放等)的几何变换,在屏幕上渲染与其关联的对象。如果SKSpriteNode
超出屏幕边界或被另一个图形元素覆盖,则关联的纹理不会呈现在屏幕上。
SKSpriteNode 是绘制纹理图像、彩色正方形或混合了颜色的纹理图像的节点。您还可以提供自定义着色器来创建自己的渲染效果。
基本上它是位图格式的图像。事实上,您可以SKTexture
使用 a创建一个UIImage
,并且可以将其创建为一个SKSpriteNode
.
ASKTexture
没有位置、旋转角度或您可以在 中找到的许多其他属性SKSpriteNode
。它只是一个图像。
SKTexture 对象是可以应用于 SKSpriteNode [...] 的图像。纹理对象管理渲染图像所需的纹理数据和图形资源。