在 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
在 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