2013-03-17 52 views
3

我正在开发一个带有SurfaceView,SurfaceHolder,Canvas等标准模式的安卓游戏。在这个游戏中,我将在画布上绘制多个位图,我想知道他们是否被感动了。我意识到我可以覆盖onTouchEvent()for SurfaceView,并可以线性遍历所有项目,以确定触摸坐标是否包含我的一个位图的区域,但我想知道是否可以让自己的事情变得更轻松。如何在SurfaceView上实现项目触摸

这里是我的问题: 我可以有类处理从android.View下降的屏幕上绘制我的位图,将它们附加到我的SurfaceView并注册它们上的点击侦听器,所以我不必经历确定我自己的点击?如果我自己将视图(位图)绘制到画布上,点击侦听器是否准确?

此外,我是否会因使Android视图层次结构陷入僵局并让Android做我不想做的工作而让我的所有位图android视图受到性能影响?

谢谢。

回答

0

如果您想将正常的android视图附加到SurfaceView,那么使用SurfaceView会有什么意义!给你一个SurfaceView,以便你可以自己绘制表面,而不是让android视图系统为你做。所以“你”必须自己跟踪你的触动。

您可以参考纯粹基于OpenGL的AOSP Gallery2代码,并将其设计用于处理触摸。