Ottenere appropriata evento di tocco sul sprite multiplo in gioco usando andengine

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

  •  27-10-2019
  •  | 
  •  

Domanda

Sto facendo un gioco utilizzando andengine in Android, in questo gioco di vari sprite (uova) si muovono qua e là sul screen.i voglio entrare evento di tocco di ogni sprite in modo indipendente, a volte quando uno sprite è rispetto ad un altro, allora onAreaTouched ( ) dare evento tocco di entrambi gli sprite, nel caso in cui quando ritornerò qui false o super.onAreaTouched (), se torno qui vero allora uno sprite in movimento sopra l'area che è registrato per un altro sprite non ha potuto dare il tocco evento

Allora, qual è il modo appropriato per ottenere evento di tocco di sprite solo mostrato superiore.

È stato utile?

Soluzione

L'altro approccio è possibile utilizzare è un IOnSceneTouchListener, con il metodo onSceneTouchEvent. È possibile ottenere la X & Y dal parametro pTouchEvent, e verificare se qualche sprite lo contiene.

Ora, nel caso in cui non si sapeva, ogni entità ha una lista di bambini (e la scena è un'entità). Quando un'entità si disegna, si chiama anche i metodi draw dei bambini. metodi draw I bambini sono chiamati dal primo metodo bambino fino all'ultimo (come il loro ordine nella lista); Pertanto, il primo figlio della lista viene disegnato per primo. L'ultimo è disegnato per ultimo. Quindi l'ultimo sarà sempre la priorità su qualsiasi altra entità è disegnato sopra.

Quindi, iterate oltre la lista di scena i bambini dagli ultimi bambini alla prima. Se uno sprite contiene il punto di contatto, lasciarlo gestire l'evento e return true per dire che avete consumato l'evento.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top