0
我正在處理我的第一個遊戲應用程序,當用戶觸摸圖像時,應用程序向用戶顯示消息(或在其他情況下執行其他操作)。 我的照片都是非幾何形狀(例如動物照片)以100%的透明背景處理觸摸圖像視圖的不透明部分的事件
(我用Photoshop和PNG格式保存它們。)
我的問題是,我需要它反應(並顯示消息,...)只有當動物形狀本身(而不是imageview的透明背景/角落)被用戶觸摸。
我使用了this question中提供的解決方案來確定被觸摸的像素是否透明,但是它不能以我需要的方式工作。以下是MainActivity.java中的onCreate()方法的一部分:
tempIV=(ImageView)findViewById(R.id.birdIV);
final Bitmap bitmap = (BitmapDrawable)tempIV.getDrawable()).getBitmap();
tempIV.setOnTouchListener(new View.OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event){
int x = (int)event.getX();
int y = (int)event.getY();
int transparency = bitmap.getPixel(x,y);
if (transparency == 0)
{ //Do nothing
return false;}
else {
Toast.makeText(MainActivity.this,
"This is an animal!", Toast.LENGTH_LONG).show();
}
return true;
}
});
我該怎麼辦?
試過這種過,但就像我自己的代碼,它看起來像應用程序的反應用戶的點擊是不是100%有什麼預期;有時它認爲100%透明像素不透明,反之亦然。 – Atieh