如何知道画布上的哪个位图被触摸?

时间:2013-12-22 16:28:39

标签: java android bitmap android-canvas draw

我有一个随机绘制在画布上的位图数组myBitmapArray。我有一个随机变量Random rnd = new Random();,每次调用onDraw方法(速率为每秒10帧)时,我执行以下代码:canvas.drawBitmap(myBitmapArray.get(rnd.nextInt(6)), x + xSpeed, y + ySpeed, null);其中xSpeedySpeed用于更改画布上每个位图的位置。位图按预期绘制。

我还使用onTouchEvent根据触摸的位图播放一些声音(例如,如果触摸的位图是字符,则该字符发音)。我的问题在于执行此任务。

我知道我需要检查触摸事件x和y是否位于位图图像中,但由于我随机绘制位图,我不知道如何获取它们的坐标以便检查。

关于如何解决这个问题的任何想法?

仅供参考:我已经检查了这个问题,但没有太多帮助:here

1 个答案:

答案 0 :(得分:1)

您必须跟踪位图的X和Y位置。否则无法知道位图的绘制位置。获得位图的X和Y位置后,您可以输入您找到的逻辑,并在您的问题中提供链接。