Version: 2022.3
public Texture2D texture ;

描述

Get the reference to the used Texture. If packed this will point to the atlas, if not packed will point to the source Sprite.

仅返回精灵当前使用的纹理。不能使用该属性更改纹理。

//Attach this script to a Sprite GameObject. Make sure it has a SpriteRenderer component (should have by default)
//Next, attach a second Sprite in the Inspector window of your first Sprite GameObject

using UnityEngine;

public class Example : MonoBehaviour { SpriteRenderer m_SpriteRenderer; public Sprite m_Sprite;

void Start() { //Fetch the SpriteRenderer of the Sprite m_SpriteRenderer = GetComponent<SpriteRenderer>(); //Output the current Texture of the Sprite (this returns the source Sprite if the Texture isn't packed) Debug.Log("Texture 1 : " + m_SpriteRenderer.sprite.texture); }

void Update() { //Press Space key to change the Sprite to the Sprite you attach in the Inspector if (Input.GetKeyDown(KeyCode.Space)) { //Change the Sprite m_SpriteRenderer.sprite = m_Sprite; //Output the Texture of the new Sprite (this returns the source Sprite if the Texture isn't packed) Debug.Log("Texture 2 : " + m_SpriteRenderer.sprite.texture); } } }