从计算机上的文件导入Sprite并在可编写脚本的对象实例中引用它

问题描述 投票:-1回答:1

Character ScriptableObject

我有一个ScriptableObject“ Character”,并创建了它的一个实例。它有一个Sprite字段,但是我不想在开始游戏之前引用它。

Character.cs

public Class Character : ScriptableObject {

public Sprite mySprite;

}

现在我有一个特定的文件夹,玩家应该在其中放置自定义图像文件(.jpg,.png),说“我的文档/我的游戏/我的图片”。当玩家按下UI中的按钮时,将显示所有图像文件,然后用户可以单击图像,然后将在Character ScriptableObject实例中引用该精灵。

我还想添加一些要求,例如图像的尺寸应为200x200。

c# unity3d scriptable-object
1个回答
1
投票

这里需要3个部分:

  1. 从磁盘加载文件
  2. 将从磁盘读取的数据装入Texture2D
  3. 从纹理创建Sprite

((1)您可以自己查找,从文件中读取字节是微不足道的。(2)是this method(3)使用Sprite.Create()

您的最终代码将如下所示:

Sprite.Create()
© www.soinside.com 2019 - 2024. All rights reserved.