Necesito su consejo sobre la mejor manera de implementar un campo de juego desplazable en un juego simple. El campo consta de varias filas, con 9 celdas en cada fila. Las filas se pueden agregar y eliminar dinámicamente durante el transcurso del juego. Cada celda tiene un dígito y, opcionalmente, varias imágenes superpuestas, como selección, selector, tachado, etc. (ver la imagen a continuación). El usuario debería poder hacer clic en celdas individuales de una fila para seleccionar/deseleccionar/cruzar las celdas tocadas. En cualquier punto del juego puede haber de 0 a 3000 celdas (de 0 a alrededor de 333 filas). El campo debe desplazarse hacia arriba y hacia abajo suavemente.Decisiones de diseño/consejos para un juego simple en Android
Estaba pensando en tener un ListView con su cada fila una fila en el campo. De esa forma podría agregar/eliminar filas dinámicamente durante el juego. Sin embargo, ¿cómo exactamente debo implementar una fila: tener un mapa de bits que representa una fila, y luego cuando el usuario lo toque, obtener las coordenadas del área táctil y descubrir qué celda se vio afectada, y luego actuar sobre eso. ¿Es posible obtener las coordenadas táctiles de una fila en ListView? Si no, ¿debo colocar 9 marcadores de posición de imágenes falsas en cada fila, y luego actuar en el usuario tocando los? ¿Qué hay del rendimiento?
¿O debería tener un gran mapa de bits/lienzo que represente todo el campo, colocarlo dentro de un ScrollView y luego calcular todas las coordenadas y actualizarlo mientras el usuario interactúa con él? ¿Va a ser más rápido o más lento que ListView?
¿Alguna otra solución?
Prefiero que sea un juego de aplicación "normal", no un juego basado en bucle, ya que no creo que realmente deba volver a dibujar 30 veces por segundo.
Soy bastante nuevo en Android. Gracias por tus sugerencias.
Gracias Josh, tu consejo es muy útil. Ya lo estoy implementando. – Levon