在 Unity 中使用静态 Sprite 数组

Using static Sprite array in Unity

在 Unity 中使用静态精灵数组的最佳方法是什么?

您不应使用静态对象来存储任何资产。这是一种不好的做法,因为您无法控制静态对象的生命周期。

在 Unity 中你应该使用 ScriptableObject and access it (if you want static access you can use Singleton Pattern)

[CreateAssetMenu(fileName = "SpriteArrays", menuName = "ScriptableObjects/SpriteArrays", order = 1)]
class SpriteArrays : ScriptableObject
{
    public Sprite[] Sprites;
}

现在您可以访问所有需要使用相同精灵的 类 的单一参考点,您可以从检查器中进行编辑(使用菜单“创建此资产”Assets/Create/ScriptableObjects/SpriteArrays ").

您可以将此实例用作预制件或任何其他资产,并且可以从脚本中引用它。

public SpriteArrays Sprites;

public void Start()
{
    // Use sprites that you attached via Inspector to Sprites field
}

如需进一步阅读,您还应该参阅 AssetBundles and Addressables