基本的に、プレイヤー(または敵)が死ぬたびに爆発gifを再生したいゲームがありますが、gifを1回だけ再生したいです。私はすべてをクラスに設定し、必要なときに爆発を追加するArrayListを持っています。現在、gifの期間に達すると爆発を削除するように設定しています(System.currentTimeMillis()を使用) 。唯一の問題は、それが正確ではないことです。gifが早く停止して消えたり、ロールオーバーしたりすることもあります。どちらの状況でも、次のgifが中断したところから開始されます。ある種のメソッド、クラス、ある種のリスナー、またはgifがどのフレームにあるか、または何回ループしたかを知るために使用できるものはありますか?私のコードは残りの作業を行うことができます。ifステートメントにこれよりも良いものを入れる必要があります。
g2D.drawImage(explosion, x - 150, y - 150, null);
if(System.currentTimeMillis() - startingTime > 520){
System.out.println(System.currentTimeMillis());//for testing accuracy
Game.explosions.remove(this);
explosion = null;
}