2012-01-10 3 views
0

は、誰かがすなわち、ビットマップ、私の子クラスが何かを描画するために、親クラスのキャンバスにアクセスする方法の例を与えることができます:例:ChildクラスがParent内の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()方法にキャンバスを渡したいです。

関連する問題