我做了很多研究,但找不到将 spritesheet 渲染为动画的清晰示例。我有这个 Sprite 表:
我会感谢大量关于高效加载的示例代码
最佳答案
方法很简单,
在开始编写代码以将 sprite 分成不同的单独图像文件之前,您需要什么,每个文件代表动画中的一个帧。 注意:您可以通过代码实现上述功能,但这是另一个问题。
1. 现在您需要创建一个 xml 文件作为您的动画。 xml 将在 res/drawble 中。
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="true">
<item android:drawable="@drawable/exp0" android:duration="100"/>
<item android:drawable="@drawable/exp1" android:duration="100"/>
<item android:drawable="@drawable/exp2" android:duration="100"/>
.
.
其中每个项目都是一个帧(按顺序)- exp0 是第一帧 exp1 是第二帧,依此类推。
android:oneshot="true"
将使您的动画循环一次,然后保持显示最后一帧。代码的其余部分是不言自明的(持续时间以毫秒为单位)。
2.您需要将 xml 文件分配给 View 并启动它。
假设我们希望此动画显示在网格中的“tileView”对象上(您可以对任何 View 执行此操作)
tileView.setImageResource(R.drawable.explosion_animation);
AnimationDrawable explosionAnimation = (AnimationDrawable)tileView.getDrawable();
explosionAnimation.start();
我们在这里所做的是将我们的动画 xml 设置为 ImageResource(explosion_animation 是我们创建的 xml 文件) 然后我们将动画本身放入一个 AnimationDrawable 对象中。 最后我们开始动画。
关于android - 在 Android 中使用 Sprite 表动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28201187/