这是我的班..我想在我的简单游戏GameEngine
中使用它...但是我不明白这里的问题..它不起作用..
public class Droid {
private Bitmap bitmap;
private int x;
private int y;
private boolean touched;
private Speed speed;
private Paint paint;
public Droid(Resources resources, Bitmap bitmap, int x, int y)
{
this.bitmap = bitmap;
this.x = x;
this.y = y;
// create droid and load bitmap
bitmap = BitmapFactory.decodeResource(resources,
R.drawable.droid_1);
}
public void draw(Canvas canvas)
{
canvas.drawBitmap(bitmap, x - bitmap.getWidth() / 2,
y- bitmap.getHeight() / 2, paint);
}
}
当ı运行代码时,ı在nullpointerexception
方法中查看draw()
...怎么能解决这个问题?谢谢你的帮助...
答案 0 :(得分:0)
MainActivity
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
MyView mv = new MyView(this,bmp,100,100);
// pass the bitmap and x and y co-ordinates to the constructor of Myview
setContentView(mv); // set the content to your activity
}
}
自定义视图类
public class MyView extends View{ // should extend view
Context c;
private Bitmap bitmap;
private int x;
private int y;
private Paint paint;
public MyView(Context context,Bitmap bmp, int i, int j) {
super(context);
// TODO Auto-generated constructor stub
this.c=context;
this.bitmap=bmp;
this.x=i;
this.y=j;
paint= new Paint();
}
@Override
public void draw(Canvas canvas) // override view on draw and draw the bitmap
{
canvas.drawBitmap(bitmap, x - bitmap.getWidth() / 2,
y- bitmap.getHeight() / 2, paint); // instead of paint you can have null
}
}
答案 1 :(得分:0)
//ı希望,ı解决了这个问题..终于...... :)
公共课Droid {
private Bitmap bitmap;
private int x;
private int y;
private boolean touched;
private Speed speed;
private Paint paint;
public Droid(Resources resources, Bitmap bitmap, int x, int y)
{
paint= new Paint();
// this.bitmap = bitmap; // delete this part, it will work.. :)))
this.x = x;
this.y = y;
// create droid and load bitmap
bitmap = BitmapFactory.decodeResource(resources,
R.drawable.droid_1);
}
public void draw(Canvas canvas)
{
canvas.drawBitmap(bitmap, x - bitmap.getWidth() / 2,
y- bitmap.getHeight() / 2, paint);
}
}