我目前正在使用SurfaceView编写Android游戏。我已经尽可能地优化了游戏,并且运行非常平稳。但是,我合并了碰撞检测,这有点混乱。我想通过直接从画布读取像素来进行碰撞检测。这可能吗?我发现与此最接近的是使用setBitmap将新位图附加到画布。然后,当我画到画布上时,位图将被更新。这是要走的路吗?谢谢。
最佳答案
尽管您应该以其他方式管理冲突检测,但是可以使用下一行代码来获取给定位置的像素颜色:
mView.mBitmap.getPixel(j, i)
mView是包含画布的View,mBitmap是用于创建画布的Bitmap:
Canvas mCanvas = new Canvas(mBitmap);