私はSurfaceView、SurfaceHolder、Canvasなどの標準パターンでAndroidゲームを開発しています。このゲームでは、キャンバス上に複数のビットマップを描画し、それらが触れられたかどうかを確認します。SurfaceViewのonTouchEvent()をオーバーライドでき、すべてのアイテムを直線的にウォークスルーして、タッチ座標にビットマップの1つの領域が含まれているかどうかを判断できることは承知していますが、自分で作業を簡単にできるかどうか疑問に思いました。
私の質問は次のとおりです。画面へのビットマップの描画を処理するクラスをandroid.Viewの子孫にして、SurfaceViewにアタッチし、クリックリスナーを登録して、クリックを自分で決定するプロセスを実行する必要がないようにすることはできますか?ビュー(ビットマップ)を自分でキャンバスに描画している場合、クリックリスナーは正確ですか?
さらに、Androidビュー階層をダウンさせてAndroidに不要な作業を行わせることで、すべてのビットマップをAndroidビューにすることで、パフォーマンスが低下する可能性がありますか?
ありがとう。