我試圖表現出子彈,當用戶觸摸屏幕的Android drawBitmap油漆
我在寫這裏的子彈
public Projectile(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
paint = new Paint();
bulletBitmap = BitmapFactory.decodeResource(context.getResources(),
R.drawable.bullet);
}
public interface ProjectileListener {
public void onProjectileChanged(float delta, float angle);
}
public void setProjectileListener(ProjectileListener l) {
listener = l;
}
public void setProjectileDirection(int x, int y, int size){
pos = new Rect(x, y, size, size);
invalidate();
}
protected void onDraw(Canvas c) {
c.drawBitmap(bulletBitmap, pos, pos, paint);
super.onDraw(c);
}
,並在這裏把它
Projectile p = new Projectile(TowerAnimation.this);
p.setProjectileDirection(x, y, 50);
projectiles.add(p);
Canvas c = null;
p.onDraw(c);
但是我得到這條線上的錯誤
c.drawBitmap(bulletBitmap, pos, pos, paint);
我是否對drawBitmap做任何錯誤? 感謝
你會得到什麼錯誤?您是否在以contxt爲參數的構造函數中初始化'bulletBitmap'? – Blackbelt
java.lang.NullPointerException 07-22 16:03:23.231:E/AndroidRuntime(8347):\t at android.view.View.dispatchTouchEvent(View.java:5546) 07-22 16:03:23.231:E/AndroidRuntime(8347):\t at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1951) 07-22 16:03:23.231:E/AndroidRuntime(8347):\t at android.view.ViewGroup.dispatchTouchEvent(ViewGroup .java:1712) 07-22 16:03:23.231:E/AndroidRuntime(8347):\t at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957) 這裏有一些其他 – NoobMe
這是什麼:「Canvas c = null;」?你傳遞null給onDraw方法,可能會得到NullPointerException。 –