版本:Unity 6(6000.0)
语言中文
  • C#

Sprite.GetSecondaryTextures

提出更改建议

成功!

感谢您帮助我们改进 Unity 文档的质量。虽然我们无法接受所有的提交,但我们确实阅读来自用户的所有建议更改,并会在适用的地方进行更新。

关闭

提交失败

由于某种原因,无法提交您建议的更改。请在几分钟后 <a>重试</a> 一次。感谢您花时间帮助我们改进 Unity 文档的质量。

关闭

取消

声明

public int GetSecondaryTextures(SecondarySpriteTexture[] secondaryTexture);

参数

secondaryTexture 包含 Sprite 使用的次级纹理属性的 SecondarySpriteTexture 数组。

返回值

int 返回获取到的次级纹理属性的数量。

描述

检索 Sprite 使用的 SecondarySpriteTexture 数组。

如果作为参数传入的数组的大小小于 Sprite 使用的 SecondarySpriteTexture 的数量,则不会调整数组大小,且结果将会受到限制。

如果作为参数传入的数组的大小大于 Sprite 使用的 SecondarySpriteTexture 的数量,则数组中使用的元素数量可以通过该方法的返回值来表示。

using UnityEngine;

// Create a Sprite with Secondary Texture properties and retrieves the // Secondary Texture properties with various input parameter array length.

public class ExampleClass : MonoBehaviour { void Start() { var texture = new Texture2D(64, 64); var secondaryTexture1 = new Texture2D(64, 64); var secondaryTexture2 = new Texture2D(64, 64); var secondaryTexture3 = new Texture2D(64, 64); var secondarySpriteTexture = new[] { new SecondarySpriteTexture() { name = "_SecondaryTexture1", texture = secondaryTexture1 }, new SecondarySpriteTexture() { name = "_SecondaryTexture2", texture = secondaryTexture2 }, new SecondarySpriteTexture() { name = "_SecondaryTexture3", texture = secondaryTexture3 } };

var sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), Vector2.zero, 100, 0, SpriteMeshType.FullRect, Vector4.zero, false, secondarySpriteTexture); var secondarySpriteTextureResult = new SecondarySpriteTexture[2]; var resultCount = sprite.GetSecondaryTextures(secondarySpriteTextureResult); // There are 3 Secondary Textures, but the array is only size of 2, so the entire array is used print(resultCount); for (var i = 0; i < resultCount; ++i) { // This will print //_SecondaryTexture1 //_SecondaryTexture2 print(secondarySpriteTextureResult[i].name); }

secondarySpriteTextureResult = new SecondarySpriteTexture[4]; resultCount = sprite.GetSecondaryTextures(secondarySpriteTextureResult); // There are 3 Secondary Textures, but the array is only size of 4, so only 3 will be used print(resultCount); for (var i = 0; i < resultCount; ++i) { // This will print //_SecondaryTexture1 //_SecondaryTexture2 //_SecondaryTexture3 print(secondarySpriteTextureResult[i].name); } } }