私はこれを理解しようとして夢中になっています。座標を更新して画面上に描画できるRect(長方形)の配列または配列リストを作成しようとしています(それらを移動させるため)。
現在、Fire という別のクラスがあり、独自の onDraw() メソッドで新しい座標を使用して反復ごとに新しい長方形を作成します。ビューの onDraw() メソッドの最初の繰り返しで、新しい Fire を arraylist に追加します。
Fireクラスには次のものがあります:
public void onDraw(Canvas canvas){
moveF();
Rect r = new Rect(_l,_t,_r,_b);
canvas.drawRect(r, paint);
}
View クラスには次のものがあります。
protected void onDraw(Canvas canvas) {
int i = 0;
canvas.drawColor(Color.WHITE);
if(i==0){
fires.add(new Fire(20,100,40,120));
i++;
}
for(Fire fire : fires){
fire.onDraw(canvas);
}
}
コードの無意味な部分を取り除きましたが、これは重要なことです。Rectangle は印刷されますが、以前のすべての場所も印刷され、その理由がわかりません。私はこれを永遠に修正しようとしてきました。これをJavaで簡単に実装できましたが、Androidで問題が発生しています。
前もって感謝します!!!