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



字符脚本对象

我有一个ScriptableObject";字符"我已经创建了一个它的实例。它有一个精灵的字段,但我不想在开始游戏之前引用它。

特征.cs

public Class Character : ScriptableObject {
public Sprite mySprite;
}

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

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

这里需要三个部分:

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

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

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

File f = //...step 1
Texture2D t = //...step 2
Rect size = new Rect(0, 0, t.width, t.height); //the part of the image to use; whole image
int PIXELS_PER_UNIT = 100; //whatever your other sprites use
Sprite s = Sprite.Create(t, size, Vector2.zero, PIXELS_PER_UNIT, 0, SpriteMeshType.FullRect);

最新更新