在ImageView中检测不规则形状内的触摸

时间:2014-03-10 13:02:29

标签: android canvas bitmap imageview

我有一个ImageView,它有一个透明的drawable,中心有一个圆圈,如(http://wallpaperswide.com/circle_outline-wallpapers.html)。只是圆圈是红色的,周围没有颜色但是透明,它是一个.png图像。所以现在我将实现Canvas.ondraw(),当跟踪用户走到圆圈外时,绘图应该重新启动。

怀疑是: 1.如何在不进行硬编码的情况下检测此图像的边界。 2.如何检测用户在此外部点击,因为这不是常规矩形。

我这样做是为了帮助学生追踪字母,所以我希望答案在字母形状的任何图像的基础上是通用的。 可以这样做吗?如果没有,你能提出什么更好的方法?

1 个答案:

答案 0 :(得分:0)

你所追求的几乎与“不规则形状的碰撞检测”相同。谷歌搜索将导致数以万计的点击率。

但如果我有问题要做,我可能会引入其中一个游戏引擎/框架,如Box2D,AndEngine,libGDX或BatteryTech。我将几个简单的矩形和曲线结合起来,在我的每个字母图像上构建反应位置,然后使用库的预优化碰撞检测算法来完成繁重的工作。我至少还要查看他们的开源代码,以了解他们如何进行检测。