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

Il contenitore: pagina di gioco e ViewBox

Link copiato negli appunti

La pagina è l'oggetto che si occupa di mostrare l'output a video. Per il nostro gioco utilizzeremo un "contenitore" di tipo Viewbox, che è il controllo XAML in grado di scalare automaticamente il proprio contenuto senza modificare la posizione degli elementi al suo interno.

Non dovremo preoccuparci quindi delle varie risoluzioni dello schermo degli utenti, sarà Viewbox a farlo per noi (in realtà ci sarebbero alcuni accorgimenti, ma non è lo scopo di questo tutorial spiegare i controlli XAML, si può comunque approfondire sulla documentazione msdn).

Con un doppio click su MainPage.xaml nell'Esplora Soluzioni, Visual Studio ci presenta in un'unica schermata sia il codice XAML, sia il risultato del suo rendering a video, che per ora non è altro che una schermata nera. Aggiungiamo dunque il codice XAML per creare il Viewbox all'interno della Grid

<Page
	x:Class="SampleGame.MainPage"
	xmlns="http://schemas.microsoft.com/winfx/2006/XAML/presentaion"
	...
	>
	<Grid Backgound="{StaticResource ApplicationPageBackgoundThemeBrush}">
		<Viewbox x:Name="mainViewbox" Width="1366" Height="768" />
	</Grid>
</Page>

Nel code behind (dove si trova il codice C# riferito all'interfaccia disegnata tramite XAML), creiamo l'istanza della nostra classe GameModel che a questo punto è già in grado di mostrare lo sfondo. Espandiamo quindi nell'Esplora Soluzioni il file MainPage.xaml e facciamo doppio click sul file MainPage.xaml.cs che troviamo sotto.

Figura 13.

Dichiariamo la variabile che conterrà l'istanza della classe GameModel e che chiameremo con grande fantasia game

namespace SampleGame
{
	public sealed partial class MainPage : Page
	{
		GameModel game;
		public MainPage()
		{
			this.InitializeComponent();
		}

Infine dobbiamo solo istanziare la nostra classe e aggiungere il canvas di gioco (generato automaticamente dietro le quinte dall'oggetto ScrollableBackground) alla Viewbox che abbiamo creato nello XAML, e questo lo facciamo all'interno dell'evento OnNavigatedTo

namespace SampleGame
{
	protected 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;
	}

Finalmente siamo pronti a compilare ed eseguire il nostro codice che, se abbiamo fatto tutto bene, mostrerà lo sfondo del gioco. Clicchiamo quindi sul bottone Computer Locale nella barra degli strumenti di Visual Studio:

Figura 14. (click per ingrandire)


e....buona visione!

Figura 15. (click per ingrandire)


Nella seconda parte della guida vedremo come creare un personaggio e animarlo.

Ti consigliamo anche