Obtener un evento táctil apropiado en múltiples sprite en el juego usando AndEngine

StackOverflow https://stackoverflow.com/questions/8818122

  •  27-10-2019
  •  | 
  •  

Pregunta

Estoy haciendo un juego usando AndEngine en Android, en este juego varios sprites (huevos) se mueven aquí y allá en la pantalla. Quiero obtener un evento táctil de cada sprite de forma independiente, a veces cuando un sprite está sobre otro onAarateuched () dar contacto Evento de ambos sprites, en caso de que regrese aquí falso o súper.Onaratouched (), si regreso aquí, entonces, un sprite que se mueve sobre el área que está registrada para otro sprite no podría dar el evento táctil

Entonces, ¿cuál es la forma apropiada de obtener el evento táctil de solo sprite superior mostrado?

¿Fue útil?

Solución

El otro enfoque que podría usar es un IOnSceneTouchListener, con el onSceneTouchEvent método. Puedes obtener el X&Y del pTouchEvent parámetro, y verifique si algún sprite lo contiene.

Ahora, en caso de que no lo supiera, cada entidad tiene una lista de niños (y su escena es una entidad). Cuando una entidad se dibuja, también llama a los métodos de dibujo de los niños. Los métodos de sorteo de los niños se llaman desde el primer método infantil hasta el último (como su orden en la lista); Por lo tanto, el primer niño en la lista se dibuja primero. El último se dibuja en último lugar. Asi que El último siempre anulará cualquier otra entidad en las que se dibuja.

Entonces, iterar en la lista de niños de la escena desde los últimos niños hasta el primero. Si algún sprite contiene el punto de contacto, deje que maneje el evento y Devolver verdadero Decir que consumiste el evento.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top