我正在编写一个基于SurfaceView
Object 的小型 2D android 游戏,所以我将整个游戏绘制在canvas
. 我设计了一个球作为 apng
并使用以下方法将其绘制在画布上:
canvas.drawBitmap(bmp, posX, posY, null);
现在我的问题是我不知道如何接收这个球的触摸事件。我的 png 是 64x64 像素,但球只有 32x32 像素并且位于图像的中间。如果触摸球(32x32)而不是位图(64x64),我只想接收触摸事件。我怎样才能做到这一点?我可以注册一个OnTouchListener
,SurfaceView
但我怎样才能检测到触球?
另一个问题是球是一个简单的物体。如果我有一些无法通过半径或其他东西描述的不规则物体怎么办?我是否完全使用正确的“技术”和 png 来构建画布控件,还是有更好/更简单的方法?
这对我来说是所有平台(JS、Android、iOS)上的典型问题,我不知道解决它的最佳方法。这就是为什么我在这个问题上使用了一些其他标签。是不是有一个跨平台的解决方案,所以我可以永远解决这个问题?