1

在 Unity3d 中,我从 NGUI 插件中获得了一个带有 UISprite 组件的 GameObject。所以我需要使用带有纹理的图集,为 UISprite 设置纹理。

现在我希望 UiSprite 具有动画效果。不同的帧位于图集本身的 spritesheet 中。

我了解到您可以通过更改偏移量来使用 spritesheet 制作动画。我的问题是,如何设置当前纹理而不是整个图集的偏移量?到目前为止,我只能更改整个图集的偏移量。

是否有可能从地图集或其他东西中获取纹理的位置并用它计算偏移量?

我不知道该怎么做。任何见解都值得赞赏。

4

2 回答 2

2

您实际上并不需要手动执行此操作。该方法在一定程度上取决于您所拥有的场景。如果要播放一次或循环播放动画,只需使用UISpriteAnimation组件(添加组件 > NGUI > UI > Sprite Animation)。

这允许您创建一组特定的命名和编号的精灵。设置正确的前缀、帧率以及是否循环,一切顺利。

但即使你想手动控制它,也不需要直接使用偏移量。通过设置spriteNamea UISprite,您可以在运行时动态更改显示的精灵。所以你只需要设置精灵的名字,NGUI 会处理剩下的。

如果你想做完整的精灵动画,NGUI 可能不是最好的选择。毕竟它是一个 GUI 框架。其他要研究的选项是工具,例如

于 2013-08-05T07:40:34.217 回答
0

http://www.tasharen.com/forum/index.php?topic=2994.msg58298#msg58298

你好,

使用 NGUI 的 Sprite 动画: https ://www.youtube.com/watch?v=ys60bEIa2zA

该视频演示了以下内容:

  1. 如何将精灵表导入 NGUI
  2. 如何将 Unity Sprite(多模式)导入 NGUI
  3. 创建动画剪辑(Sprite 动画)
  4. 将此动画剪辑附加到 NGUI 精灵。

我希望这对你有用......

谢谢,

维杰

dehinrsu@gmail.com

于 2015-04-09T15:07:06.900 回答