2
我有一個名爲ChickenView的Surfaceview類,我試圖讓我的bMapEgg有一個touchevent。我嘗試使用這個bMapEgg.setOnTouchListener(this);
但它沒有工作。有任何想法嗎?Surfaceview位圖touchevent
public void drawCourt() {
if (ourHolder.getSurface().isValid()) {
canvas = ourHolder.lockCanvas();
//Paint paint = new Paint();
canvas.drawColor(Color.BLACK);//the background
paint.setColor(Color.argb(255, 255, 255, 255));
paint.setTextSize(45);
canvas.drawText("Score:" + score + " Lives:" + lives + " fps:" + fps, 20, 40, paint);
Bitmap bMapEgg = BitmapFactory.decodeResource(getResources(), R.drawable.egg);
bMapEgg = scaleDown(bMapEgg,180,true);
Bitmap bMapBackground = BitmapFactory.decodeResource(getResources(), R.drawable.backgrounddd);
canvas.drawBitmap(bMapBackground, 0, 0, paint);
canvas.drawBitmap(bMapEgg, ballPosition.x, ballPosition.y, paint);
ourHolder.unlockCanvasAndPost(canvas);
}
}
爲什麼你能夠在位圖上添加觸摸監聽器?觸摸事件被傳遞到視圖,例如,你的SurfaceView。你將不得不處理位置的計算,並且如果從那裏點擊你的位圖 –