я пытаюсь показать пули, когда пользователь коснулся экрана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? благодаря
какая ошибка у вас есть? Вы инициализировали 'bulletBitmap' в конструкторе, который принимает contxt как параметр? – Blackbelt
java.lang.NullPointerException 07-22 16: 03: 23.231: E/AndroidRuntime (8347): \t на android.view.View.dispatchTouchEvent (View.java:5546) 07-22 16: 03: 23.231: E/AndroidRuntime (8347): \t в android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:1951) 07-22 16: 03: 23.231: E/AndroidRuntime (8347): \t в android.view.ViewGroup.dispatchTouchEvent (ViewGroup .java: 1712) 07-22 16: 03: 23.231: E/AndroidRuntime (8347): \t на android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:1957) и вот некоторые другие – NoobMe
Зачем эта строка : "Canvas c = null;"? Вы передаете null методу onDraw и, вероятно, получаете NullPointerException. –