我有一个蜡烛和火焰分别作为图像视图。当用户点击火焰时,它的可绘制资源会被设置为透明,表示火焰已熄灭。
我还想展示烟雾,因为火焰被吹灭了。为此,我有一些黑色烟雾的21张图片,可以快速地显示,让用户看到烟雾。以下是我的代码,在火焰被点击时挂起(R.drawable.smoke_22是火焰透明图像,R.drawable.candle_1是黄色火焰图像,flag用于跟踪火焰当前是否已经熄灭。flag=false表示火焰仍在燃烧):
火焰会在反复触摸后熄灭并重新点燃,但我没有看到适当的烟雾动画。
我还想展示烟雾,因为火焰被吹灭了。为此,我有一些黑色烟雾的21张图片,可以快速地显示,让用户看到烟雾。以下是我的代码,在火焰被点击时挂起(R.drawable.smoke_22是火焰透明图像,R.drawable.candle_1是黄色火焰图像,flag用于跟踪火焰当前是否已经熄灭。flag=false表示火焰仍在燃烧):
int[] smokeImages = { R.drawable.smoke_1, R.drawable.smoke_2,
R.drawable.smoke_3, R.drawable.smoke_4, R.drawable.smoke_5,
R.drawable.smoke_6, R.drawable.smoke_7, R.drawable.smoke_8,
R.drawable.smoke_9, R.drawable.smoke_10, R.drawable.smoke_11,
R.drawable.smoke_12, R.drawable.smoke_13, R.drawable.smoke_14,
R.drawable.smoke_15, R.drawable.smoke_16, R.drawable.smoke_17,
R.drawable.smoke_18, R.drawable.smoke_19, R.drawable.smoke_20,
R.drawable.smoke_21 };
this.flamImageView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (flag) {
flamImageView.setImageDrawable(getResources().getDrawable(
R.drawable.smoke_22));
flag = false;
startTimer();
} else {
flamImageView.setImageDrawable(getResources().getDrawable(
R.drawable.candle_1));
flag = true;
smokemageView.setImageResource(R.drawable.smoke_22);
}
}
});
}
private void startTimer() {
for (int i = 0; i < 21; i++) {
try {
Thread.sleep(250);
smokemageView.setImageResource(smokeImages[i]);
} catch (InterruptedException localInterruptedException) {
}
}
smokemageView.setImageResource(R.drawable.smoke_22);
}
火焰会在反复触摸后熄灭并重新点燃,但我没有看到适当的烟雾动画。