Detección de colisión con mapas de bits en el lienzo de SurfaceView en Android

En Android utilizo un SurfaceView para mostrar un juego 2D simple. Los mapas de bits (.png)co alpha (que representa los objetos del juego) se dibujan en el lienzo.

Ahora me gustaría hacer una detección de colisión simple pero precisa. Comprobar si estos mapas de bits se superponen es bastante fácil.

Pero, ¿cómo verifico las colisiones cuando estos mapas de bits tienen áreas transparentes? Mi desafío es detectar si dos bolas chocan o no. Completan todo el mapa de bits en ancho y alto, pero en los cuatro bordes, hay áreas transparentes, por supuesto, ya que es un círculo en un cuadrado.

Cuál es la forma más fácil de detectar colisiones allí solo si las bolasDe Verda colisionar, ¿no es el cuadro de mapa de bits que lo rodea?

¿Tengo que almacenar las coordenadas de tantos puntos en el contorno de la pelota como sea posible? ¿O puede Android "ignorar" el canal alfa cuando busca colisiones?

Respuestas a la pregunta(6)

Su respuesta a la pregunta