Lo sviluppo di giochi in ambiente Android - Il Ciclo di Vita in Libgdx

 

Un’applicazione  in  Libgdx  ha  un  ciclo  di  vita  ben  definito  che  permette  allo sviluppatore  di  avere  un  controllo  totale  sugli  stati  dell’applicazione  stessa, quali:  creazione,  sospensione  e  riavvio,   raffigurazione  delle  immagini  e smaltimento  delle  risorse  utilizzate.  Tale  ciclo  di  vita  è  rappresentato  nella figura seguente:

Per  gestire  gli eventi che cambiano  lo stato  di  un’applicazione, lo sviluppatore non  deve  far  altro  che  creare  una  classe  Java  che  implementa  l’ interfaccia ApplicationListener  di  Libgdx.  Questa  contiene  tutti  i  metodi  necessari  allo scopo:

 

  • create(), viene  chiamato  una  sola  volta  quando  l’applicazione  è creata. Quando  ciò  accade  l’applicazione  carica  tutto  ciò  di  cui  ha bisogno  per  permettere  all’utente  di  giocare:  texture,  sprite, spritebatch, stage…
  • resize(int width,  int  height),  viene  chiamato  ogni  volta  che  lo schermo  del  gioco  viene  ridimensionato  ed  il  gioco  non  è  nello  stato di  pausa. Accetta  due  parametri,  width  ed  height,  che  rappresentano rispettivamente  i  nuovi  valori di  larghezza ed altezza dello schermo
  • render(), è  un  ciclo  infinito  che  viene  ripetutamente  chiamato dall’applicazione  durante  la  fase  di  gioco. Termina  solo  quando l’applicazione  stessa  termina.  Gli  aggiornamenti  logici,  come  la nuova  posizione  sullo  schermo  che  deve  assumere  un’immagine, vengono  inseriti  in questo metodo
  • pause(), è  un  metodo  che  serve  a  gestire  lo  stato  di  sospensione  del gioco  e  viene  invocato  in  modi  diversi  in  funzione  della  piattaforma di destinazione. In  Android,  viene  invocato  quando  è  premuto  il tasto  Home  o  se  è  in  arrivo  una  chiamata;  nelle  piattaforme  desktop, invece,  viene  invocato  prima  della  chiamata  al  metodo  dispose() ovvero quando  l’applicazione deve essere terminata
  • resume(), è  utilizzato  solo  nella  piattaforma  Android  e  permette  il riavvio  se  l’applicazione  si  trovava  precedentemente  nello  stato  di pausa
  • dispose(), viene  invocato  quando  l’applicazione  deve  terminare  e serve per  liberare memoria

 

Ben tornato