gpt4 book ai didi

android - 如何使用 Canvas 在位图图像上设置 onTouchEvent。

转载 作者:搜寻专家 更新时间:2023-11-01 08:13:03 24 4
gpt4 key购买 nike

我是 Android 开发的新手。我想专门为图像设置 onTouchEvent。这样我就可以做一些工作,比如提高分数等......

这是我试过的示例代码..

    @Override
protected void onDraw(Canvas canvas)
{
canvas.drawBitmap(image1, random.nextInt(455), random.nextInt(270), paint);
canvas.drawText("SCORE = "+score, 10, 20, paint);
}

@Override
public boolean onTouchEvent(MotionEvent event)
{
// TODO Auto-generated method stub

if(toggelFlag)
{
score = score+10;

}

return super.onTouchEvent(event);

}

实际上,我只想在触摸图像后提高分数。但在这里,如果我触摸屏幕上的任何地方,它就会增加分数。我只想要它作为图像。

最佳答案

像这样用图像边界创建一个 Region 对象:

Region region = new Region(left, top, right, bottom);

左、上、右和下定义图像边界。

然后,当您处理触摸事件时,检查区域是否包含事件位置。会是:

public boolean onTouchEvent(MotionEvent event)
{
float x = event.getX();
float y = event.getY();

if(region.contains((int)x, (int)y))
{
// touch in image
}

return super.onTouchEvent(event);
}

关于android - 如何使用 Canvas 在位图图像上设置 onTouchEvent。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7833075/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com