Unity-如何在运行时更改播放器精灵表?

时间:2018-11-29 13:01:43

标签: unity3d animation sprite sprite-sheet

我目前正在研究2D像素Jump'n'Run。我希望玩家能够“购买”玩家角色的新皮肤。我有多个精灵表。它们都具有相同的结构。我正在使用精灵动画。

如何在运行时更改子画面?我找到了以下解决方案,但是它占用大量资源:enter image description here

好的, 朱利安

1 个答案:

答案 0 :(得分:0)

之所以在视频中占用大量资源是因为所有子画面都加载到每个LateUpdate()中,每帧一次。该脚本看起来像在抓取精灵表中的所有精灵,并在每一帧加载它们,因此,如果spriteSheetName发生更改,它将在下一帧更新渲染器。

我认为这不是必需的,他在视频中提到它只是用作示例。我要做的是将其移出LateUpdate()方法并移入其自己的方法,该方法仅在用户想要更改Sprite-Sheet时才可以调用。因此,您不必一味地从每个页面的sprite-sheet加载sprite,而是仅在用户选择时加载它们。

这应该可以大大减少此脚本的强度,因为您没有将所有的sprite加载到sprite-sheet中,也没有在每个帧上循环通过其每个渲染器。