Skip to content
Android Blog Italia

Android Blog Italia

Tutto quello che devi sapere sul mondo Android e della tecnologia

Primary Menu
  • News
    • Visualizza Tutto
    • Smartphone
    • Tablet
    • Accessori
    • TUTTI GLI ARTICOLI
  • Guide
    • Visualizza Tutto
    • ProgrammazioneGuide di programmazione
  • Recensioni
    • Visualizza TuttoCategoria relativa alle recesioni dedicate a smartphone, tablet, pc e dispositivi legati al mondo della Tecnologia.
  • Applicazioni
    • Visualizza tutto
  • Giochi
    • Visualizza Tutto
  • Guide e tutorial per Android
  • Programmazione

Sviluppare un gioco per Android – Lezione 16: i primi passi con libgdx pt.1

Redazione 25/04/2014

programmazione-android16Sviluppare un gioco per Android utilizzando libgdx può essere più semplice di quel che pensate. Tuttavia, in questo contesto, possiamo ragionare in altri termini e pensare al gioco come se fosse una scena teatrale da costruire. Starà a noi, dunque, costruire scenari, attori, ruoli e comportamenti, dando al giocatore le redini della coreografia. Ecco, in linea di massima, i punti salienti che dovremo prendere in considerazione nello sviluppo del nostro gioco, poiché sono proprio questi i processi, strettamente sequenziali, che l’applicazione dovrà eseguire:

  1. Avvio
  2. Caricamento immagini e suoni
  3. Creazione scenari con attori e relativi comportamenti
  4. Delegare il controllo al giocatore
  5. Creazione del motore che manipola gli attori in base all’input ricevuto dall’utente
  6. Determinare quando il gioco finisce
  7. Chiusura applicazione

Insomma, sembra veramente molto semplice e, se vi mettete di impegno, scoprirete che lo è davvero. Il passo iniziale riguarda la creazione della classe più importante per il nostro progetto: StarAssault.java. Andremo a crearla nel progetto principale (ricordate la configurazione di libgdx?) e avrà la seguente struttura:

package it.androidblog.starassault;

import com.badlogic.gdx.ApplicationListener;

public class StarAssault implements ApplicationListener{

	@Override
	public void create() {
		// TODO Auto-generated method stub

	}

	@Override
	public void resize(int width, int height) {
		// TODO Auto-generated method stub

	}

	@Override
	public void render() {
		// TODO Auto-generated method stub

	}

	@Override
	public void pause() {
		// TODO Auto-generated method stub

	}

	@Override
	public void resume() {
		// TODO Auto-generated method stub

	}

	@Override
	public void dispose() {
		// TODO Auto-generated method stub

	}

}

Per ottenerla, basterà implementare ApplicationListener da gdx, come vedete in alto, e Eclipse chiederà automaticamente l’implementazione di tutti i metodi necessari. Essi sono necessari per gestire il ciclo di vita dell’applicazione e, come potete vedere, il loro utilizzo è facilmente intuibile, se non altro molto di più della logica richiesta da OpenGL, come visto qualche settimana fa.

Il metodo create() è quello che viene chiamato per primo. Quando ciò accade, l’applicazione è pronta per caricare tutto ciò che ci serve per giocare, nonché attori e scenari. Questo è ciò che libgdx sta facendo per noi. Per quanto riguarda il metodo resize(), invece, esso serve a ridimensionare gli oggetti quando viene cambiata la finestra di gioco.

Tuttavia, il cuore del gioco che stiamo sviluppando sarà costituito dal metodo render(), un ciclo infinito che verrà continuamente chiamato mentre stiamo giocando. Esso, infatti, terminerà solo quando termina il gioco. Naturalmente, il gioco può essere messo anche in pausa, pause() e resume() servono rispettivamente per interrompere momentaneamente il gioco e, successivamente, riprenderlo.

Alla fine di tutto, dovrà essere chiamato il metodo dispose(). Esso ci serve per liberare memoria e “smantellare” la nostra scena teatrale. Fate attenzione a non confondervi quando parliamo di terminare il gioco e terminare l’applicazione. Nel primo caso, ci riferiamo ad un semplice stato di gioco (game over), mentre nel secondo a quando l’applicazione viene chiusa definitivamente.[divider]

Gli attori

A questo punto, muoviamo i primi passi verso la costruzione degli scenari e degli attori. Naturalmente, avremo bisogno di un personaggio principale (che chiameremo Bob), il quale dovrà muoversi nei vari livelli che saranno composti da blocchi oltre i quali Bob non potrà andare. Ora, iniziamo a porci le domande principali per lo sviluppo del nostro videogioco: quali stati ha Bob? Proviamo a identificarli:

  • Idle: quando Bob è inattivo, ossia quando non salta né si muove, ma è ancora vivo;
  • Moving: quando si muove (velocità costante) a destra o sinistra;
  • Jumping: quando salta (anche in questo caso verso destra o sinistra);
  • Dead: facilmente intuibile, in questo stato Bob è morto e non può muoversi.

Per quanto riguarda il mondo e i livelli, ci viene facile utilizzare una griglia, poiché i blocchi sono tutti uguali e, in fin dei conti, stiamo parlando sempre di una spazio a due dimensioni. Le immagini qui di seguito vi chiariranno le idee.

level01 unit_system1

Come potete vedere, anche se proviamo a fare un mockup del mondo (la prima immagine), abbiamo bisogno di lavorare su un’unità di misura per dare un senso allo scenario. Per farlo, quindi, potremo assumere che Bob è alto mezza unità (quindi i blocchi sono 1×1), oppure potremmo utilizzare i metri affermando che i blocchi sono 4×4 (quindi Bob sarebbe alto 2 metri), insomma, il tutto dipende dalla nostra visione del mondo che vogliamo costruire.

Tra l’altro, tutte queste considerazioni iniziali sono molto importanti poiché ci aiuteranno a sviluppare al meglio scenari, attori, le loro caratteristiche e altro ancora. Inizieremo a costruire il mondo (Block.java e World.java) e Bob (Bob.java) nella prossima lezione. Per qualunque dubbio potete commentare l’articolo.

Tags: sviluppo gioco android

Continue Reading

Previous: Ecco i trucchi per vincere 2048
Next: Guida Programmazione Avanzata Android – Indice

Articoli Correlati

Cos’è e come accedere alla recovery su uno smartphone Android Android recovery
  • Guide e tutorial per Android
  • News su Android, tutte le novità

Cos’è e come accedere alla recovery su uno smartphone Android

05/12/2023
3 ragioni per abbonarsi ad Amazon Luna Amazon Luna streaming
  • Guide e tutorial per Android
  • News su Android, tutte le novità

3 ragioni per abbonarsi ad Amazon Luna

24/11/2023
Come cancellare l’account Skype Skype
  • Guide e tutorial per Android
  • News su Android, tutte le novità

Come cancellare l’account Skype

21/11/2023

Ultime News

OpenAI acquisterà $51 milioni di chip AI da una startup… finanziata da Sam Altman Sam Altman OpenAI
  • News su Android, tutte le novità

OpenAI acquisterà $51 milioni di chip AI da una startup… finanziata da Sam Altman

Redazione 06/12/2023
Sam Altman è stato reintegrato subito dopo essere stato licenziato dalla carica di CEO di OpenAI il...
Leggi tutto
Beeper ha scoperto il segreto di Pulcinella: app Android in grado di comunicare con iMessage (bolla blu) beeper-mini

Beeper ha scoperto il segreto di Pulcinella: app Android in grado di comunicare con iMessage (bolla blu)

06/12/2023
WhatsApp al lavoro sulla condivisione dello stato con Instagram WhatsApp

WhatsApp al lavoro sulla condivisione dello stato con Instagram

06/12/2023
Android sicuro: ecco come utilizzare lo smartphone senza rischi informatici Android nuovo logo

Android sicuro: ecco come utilizzare lo smartphone senza rischi informatici

05/12/2023
Google Gemini, il nuovo LLM sarebbe stato rimandato a gennaio 2024 Google Gemini

Google Gemini, il nuovo LLM sarebbe stato rimandato a gennaio 2024

05/12/2023
Copyright © Tutti i diritti riservati | MoreNews by AF themes.
×

Questo sito utilizza i cookie, anche di terze parti, per garantirvi una esperienza di utilizzo ottimale.
Si rinvia all'informativa estesa per ulteriori informazioni. La prosecuzione nella navigazione (click, scroll, ...) comporta l'accettazione dei cookie.

 

Ok