任何人都可以指导我在opengl中制作动画。我尝试使用普通的逐帧动画和使用画布,但我有一些缺点,因为我需要将两个位图合并为单个位图并制作动画,所以现在我尝试尝试使用opengl。 我试过这段代码
img.setOnClickListener(this);
int reasonableDuration = 50;
mframeAnimation = new AnimationDrawable();
mframeAnimation.setOneShot(false);
mframeAnimation.addFrame(frame1, reasonableDuration);
mframeAnimation.addFrame(frame2, reasonableDuration);
mframeAnimation.addFrame(frame3, reasonableDuration);
mframeAnimation.addFrame(frame4, reasonableDuration);
mframeAnimation.addFrame(frame5, reasonableDuration);
mframeAnimation.addFrame(frame6, reasonableDuration);
mframeAnimation.addFrame(frame7, reasonableDuration);
moveLefttoRight = new TranslateAnimation(400, 0, 0, 0);
moveLefttoRight.setDuration(3000);
moveLefttoRight.setFillAfter(true);
img.setBackgroundDrawable(mframeAnimation);
mframeAnimation.setVisible(true, true);
//If this line is inside onClick(...) method of a button, animation works!!
}
用谷歌搜索后,我得到了一个上面的代码正常逐帧动画,但在这里我需要在某一点停止动画,所以我需要去opengl。请指导我..
答案 0 :(得分:1)
我最近一直在阅读这篇文章,我可以为你做的是转到这个链接:
http://obviam.net/index.php/a-very-basic-the-game-loop-for-android/
http://www.rbgrn.net/content/54-getting-started-android-game-development
不确定这是否是您正在寻找的但希望有所帮助
答案 1 :(得分:1)
您的错误在于将事件处理与动画迭代混合在一起。通常你有一些在循环中调用的显示函数。在每次显示迭代之前,您将推进动画状态并使显示功能以当前状态渲染场景。
事件处理程序OTOH只是触发动画,但不动画它们。