0

我正在学习 SpriteKit,但我真的不明白精灵(SKSpriteNode)和纹理(SKTexture)之间的区别是什么。我知道两者都是图像,“SKSpriteNode 是当前绘制的图像,而 SKTexture 仅保存图像中的数据以便稍后在游戏中加载它,因此您保存一次图像,然后您可以将SKSpriteNode 中的纹理,当你想要的时候”。

感谢您的帮助;)

4

1 回答 1

4

一个非常原始的例子

想想 UIKit 中的 aUIImage和 a UIImageView。第一个是图像,而第二个是可以添加到视图(在给定位置)并可以存储图像的 UI 元素。SKTexture和也会发生类似的情况SKSpriteNode

SKSpriteNode

它首先是一个SKNode.

它有一个position,一个rotation角度,一个scale因素和一堆其他属性,包括一个SKTexture。您可以在场景中添加SKSpriteNode您的GameScene(的子类)或另一个节点的子节点。SKScene

如果将SKSpriteNode其添加到场景中,则SKTexture根据应用于SKSpriteNode(位置、旋转、缩放等)的几何变换,在屏幕上渲染与其关联的对象。如果SKSpriteNode超出屏幕边界或被另一个图形元素覆盖,则关联的纹理不会呈现在屏幕上。

SKSpriteNode 是绘制纹理图像、彩色正方形或混合了颜色的纹理图像的节点。您还可以提供自定义着色器来创建自己的渲染效果。

SK纹理

基本上它是位图格式的图像。事实上,您可以SKTexture使用 a创建一个UIImage,并且可以将其创建为一个SKSpriteNode.

ASKTexture没有位置、旋转角度或您可以在 中找到的许多其他属性SKSpriteNode。它只是一个图像。

SKTexture 对象是可以应用于 SKSpriteNode [...] 的图像。纹理对象管理渲染图像所需的纹理数据和图形资源。

于 2016-08-31T18:19:23.643 回答