我正在为Android编写一个应用程序。该应用程序有许多图形围绕画布移动。如果两个见面他们“爆炸”。简而言之,我有一对很好的爆炸图形,但爆炸的本质是它只能持续分裂,或者更长一点,我需要编程爆炸图形以显示在屏幕上然后就消失了。我有一些笨拙的代码来实现它。
public void flickerExplosion(){
flickercounter++;
if(flickercounter ==100){
flickercounter = 0;
explode_graphic.deleteGraphic();
}
if(flickercounter%10>4){
explode_graphic.setBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.exp1));
}
else{explode_graphic.setBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.exp2));}
}
在代码中,explode_graphic是一个用于保存位图的类,该位图由onDraw()在画布上绘制。增加100次后,爆炸图形消失。爆炸在两个位图exp1,exp2之间闪烁。 代码工作正常。我意识到我可以使用timer()或其他类增量。但我的问题是关于琐碎的感觉我正在用flickercounter浪费资源,这是一个类int变量。 为了迭代这样的事情,是否可以使用anon内部函数(即闭包)?如果是这样会使类变量flickercounter过时并使我的程序更有效率? 我问这是一个星期前才开始学习关闭的人。
答案 0 :(得分:0)
答案 1 :(得分:0)
有许多项目提供此类功能。阅读本文以获取一些背景知识,并参考主要竞争者: http://www.javaworld.com/javaworld/jw-06-2008/jw-06-closures.html