2012-01-10 41 views
0

有人可以給我的一個子類如何訪問父類的畫布上畫出的東西,即一個位圖爲例:示例:Child類如何在父級中訪問Canvas?

BitmapFactory.Options options = new BitmapFactory.Options(); 
    options.inPurgeable = true; 
    Bitmap bitmap_explosion = BitmapFactory.decodeResource(context.getResources(),com.forwardapps.tanks.R.drawable.explosion, options); 

context.drawBitmap(bitmap_explosion,X,Y,NULL);

這是我的孩子,家長我有:

Explosion xplode = new Explosion(this._context, 50, 50); 

我一直在四處尋找了幾個小時,沒有運氣。

回答

1

您不會在代碼中隨機繪製位圖。您需要將您的對象提交給某種類型的呈現視圖。因此,例如,你可能有:

public class Scene extends View{ 
    private List<Explosions> explosions = new ArrayList<Explosions>(); 
    @Override 
    public void onDraw(){ 
    //obviously i have a concurrency issue here.. meh 
    for (Explosions e:explosions){ 
    /// draw your explosions here 

    } 

    } 

    public void addExplosion(Explosions x){ 
     explosions.add(x) 
    } 
} 

你打電話時添加爆炸,不要忘記調用postInvalidate問視圖重繪它的自我。

但是要最直接地回答您的問題,您希望您的子類實現Drawable,然後將畫布從父類onDraw方法傳遞給子類onDraw()方法。

相關問題