Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Animare sfondo e personaggio

Attivare il loop principale del gioco e lavorare sulle animazioni di sfondi e personaggi
Attivare il loop principale del gioco e lavorare sulle animazioni di sfondi e personaggi
Link copiato negli appunti

Cominciamo con il creare tre metodi nella classe GameModel per far partire, fermare e mettere in pausa il gioco. In questi metodi inizieremo a gestire lo scroll dello sfondo e l'animazione del personaggio.

Torniamo alla nostra classe GameModel e cominciamo ad aggiungere il metodo StartGame in cui faremo partire lo scrolling dello sfondo e l'animazione del personaggio:

public void StartGame()
{
	// Verifica per prima cosa che il gioco non sia già avviato
	if (this.GameState != enGameState.PLAY)
	{
		// fa partire il gameloop
		this.GameloopStoryboard.Begin();
		// fa partire lo scroll dello schermo
		this.GameBackground.ScrollSpeed = 8;
		this.GameBackground.get_LayerItem("sky").SpeedRate = 3;
		this.GameBackground.get_LayerItem("mountains").SpeedRate = 3;
		this.GameBackground.get_LayerItem("hills").SpeedRate = 3;
		this.GameBackground.StartScroll();
		// fa partire l'animazione del personaggio con un framerate di 25
		_playerSprite.StartAnimation("destra", 25);
		this.GameState = enGameState.PLAY;
	}
}

Per vedere finalmente un po' di movimento, torniamo nel MainPage.xaml.cs e richiamiamo il metodo StartGame che fa partire il gioco:

protected async override void OnNavigatedTo(NavigationEventArgs e)
	{
		// inizializza il game model
		this.game = new GameModel();
		// aggiunge il canvas generato dalla classe
		// ScrollableBackground alla viewbox principale
		this.mainViewBox.Child = this.game.GameBackgroundCanvas;
		// aggiunge il personaggio principale
		await this.game.AddPlayer();
		// fa partire il gioco
		this.game.StartGame();
	}

Se ora compiliamo ed eseguiamo il progetto, possiamo vedere il nostro personaggio muovere la bocca mentre lo sfondo scrolla verso sinistra. I diversi livelli dello sfondo si muovono a diverse velocità, per dare una migliore impressione di movimento e profondità. Ma cosa può fare il nostro povero amichetto se non è in grado di muoversi in giro per lo schermo? Non molto direi... Vediamo allora di aiutarlo noi.

Ti consigliamo anche