Unity 6.3
0 онлайн 9 гостей 3 в системе
Вход

Sprite.Create

Declaration

public static Sprite Create(Texture2D texture, Rect rect, Vector2 pivot, float pixelsPerUnit, uint extrude);
public static Sprite Create(Texture2D texture, Rect rect, Vector2 pivot, float pixelsPerUnit, uint extrude, SpriteMeshType meshType);
public static Sprite Create(Texture2D texture, Rect rect, Vector2 pivot, float pixelsPerUnit, uint extrude, SpriteMeshType meshType, Vector4 border, bool generateFallbackPhysicsShape);
public static Sprite Create(Texture2D texture, Rect rect, Vector2 pivot, float pixelsPerUnit, uint extrude, SpriteMeshType meshType, Vector4 border);
public static Sprite Create(Texture2D texture, Rect rect, Vector2 pivot);
public static Sprite Create(Texture2D texture, Rect rect, Vector2 pivot, float pixelsPerUnit);
public static Sprite Create(Texture2D texture, Rect rect, Vector2 pivot, float pixelsPerUnit, uint extrude, SpriteMeshType meshType, Vector4 border, bool generateFallbackPhysicsShape, SecondarySpriteTexture[] secondaryTextures);

Параметры

Параметр Описание
текстура Текстура, из которой будет получена графика Sprite.
прямой Прямоугольная секция текстуры, которая будет использоваться для Sprite.
Пивот Точка вращения спрайта относительно его графического прямоугольника.
pixelsPerUnit Число пикселей в Sprite, соответствующих одной единице в мировом пространстве.
экструдировать Размер, на который сетка Sprite должна быть расширена наружу.
meshType Тип сетки, созданной для Sprite.
граница Размеры границ Sprite (X=левый, Y=нижний, Z=правый, W=верхний).
generateFallbackPhysicsShape Создавать ли физические формы по умолчанию для sprite.
secondaryTextures Свойства вторичной текстуры, которые будут использоваться созданным спрайтом.

Описание

Создать новый объект Sprite.

Sprite.Create создает новый Sprite текстуры, которые могут быть использованы в игровых приложениях. Текстура должна быть загружена и назначена Sprite.Create в целях контроля за тем, как новые Sprite В примере скрипт ниже новый Sprite отображается при нажатии кнопки. Новый Sprite создается в Start.

Второй аргумент rect определяет используемую субтекстуру. rect аргумент определяется в пикселях Текстуры. Rect(50.0f, 10.0f, 200.0f, 140.0f) создаст диапазон слева направо от 50.0f до 50.0f + 200.0f = 250.0f. Диапазон снизу вверх будет 10.0f до 10.0f + 140.0f = 150.0f. Третий аргумент pivot определяет то, что становится центром Sprite. Это Vector2 относительно rect где Vector2(0.0f, 0.0f) находится в нижнем левом углу, а Vector2(1.0f, 1.0f) — в верхнем правом. pixelsPerUnit значение контролирует размер Sprite. Уменьшение этого ниже 100 пикселей на мир увеличивает размер Sprite. extrude значение определяет число пикселей, которые окружают Sprite. Это полезно, если Sprite включается в атлас. meshType выбирает, FullRect или Tight используется. Наконец border определяет разрез Sprite и обычно используется для определения поведения Sprite по плитке. Значения в единицах пикселей.

Дополнительные ресурсы: SpriteRenderer class.

// Create a Sprite at startup.
// Assign a Texture to the Sprite when the button is pressed.

using UnityEngine;

public class SpriteCreate : MonoBehaviour { public Texture2D tex; private Sprite mySprite; private SpriteRenderer sr;

void Awake() { sr = gameObject.AddComponent<SpriteRenderer>() as SpriteRenderer; sr.color = new Color(0.9f, 0.9f, 0.9f, 1.0f);

transform.position = new Vector3(1.5f, 1.5f, 0.0f); }

void Start() { mySprite = Sprite.Create(tex, new Rect(0.0f, 0.0f, tex.width, tex.height), new Vector2(0.5f, 0.5f), 100.0f); }

void OnGUI() { if (GUI.Button(new Rect(10, 10, 100, 30), "Add sprite")) { sr.sprite = mySprite; } } }

В следующем примере кода показано, как создать Sprite при запуске с помощью свойств Вторичной текстуры.

using UnityEngine;

// Create a Sprite at startup with Secondary Textures properties

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); int spriteSecondaryTextureCount = sprite.GetSecondaryTextureCount(); } }