Creazione di web-based giochi in 2D C #


Un tutorial per lo sviluppo di Silverlight che mostra come creare i propri giochi web based 2D. Questa serie tenta di ricreare un gioco originariamente sviluppato con Flash, e può essere utilizzato per evidenziare le differenze tra le due piattaforme.

Quando è venuto a prendere in considerazione un ricco contenuto Flash su Internet era re. La sua ampia diffusione nei dispositivi connessi a Internet e la mancanza di concorrenza reale ha fatto l'unica scelta per fare un sito web più di una raccolta di immagini statiche e testo. Il campo di gioco sta cambiando però. Poiché i servizi web iniziano a prendere in consegna dai tradizionali applicazioni desktop (basta guardare a Google Docs, Zoho e Buzzword per un esempio di questo) alcuni giocatori importanti come Microsoft e Sun, non volendo essere lasciato fuori di questa rivoluzione Web 2.0, ha introdotto il loro piattaforme RIA (Rich Internet Application) come Silveright e JavaFX, rispettivamente.




La serie Flash Game Development con Flex e ActionScript Adobe Flex sembrava di creare un gioco in Flash Actionscript hanno potuto giocare in un browser web. Per ragioni di equità questa serie si concentrerà sulla ricreare lo stesso gioco con Silverlight utilizzando C #.

Per cominciare, dobbiamo prima creare una base per la creazione di un gioco. Ciò comporterà la creazione di un rendering ciclo, il ridimensionamento e caricare alcune risorse, e, infine, li visualizza sullo schermo. Cominciamo con il ciclo di lavorazione.

Quando viene creato un nuovo file di progetto Silverlight Page.xaml.cs Page.xaml e vengono creati automaticamente. Implementiamo il ciclo di rendering in Page.xaml.cs. Foto

Page.xaml.cs codice sorgente C # Silverlight

In Silverlight 1 creando un loop di rappresentazione è un processo complicato che coinvolge storyboard e timeline. Fortunatamente, Silverlight 2, abbiamo la possibilità di allegare in funzione della composizione del target. Evento Rendering viene chiamato prima che lo schermo viene disegnato. Questo ci dà il punto di partenza per il nostro ciclo di rendering. Per trasporti ad altri oggetti di gioco che creiamo un oggetto di questo evento enterFrame evento. I nostri elementi di gioco devono essere collegati all'oggetto evento che lancia una volta ogni fotogramma, consentendo gli oggetti di gioco per aggiornare.

Per utilizzare il ciclo di rendering, creiamo una classe denominata BaseObject. Questa classe sarà semplicemente una base per gli elementi in-game, ed esporre una funzione chiamata enterFrame qualsiasi classe che la estende. Questa classe sarà ampliato in seguito per includere l'input dell'utente, il rilevamento delle collisioni, ma per ora il suo unico scopo è quello di fornire un modo semplice per sfruttare il ciclo di rendering.

BaseObject.cs codice sorgente C # Silverlight

Facendo uso della classe è AnimatedGameObject BaseObject. Questa classe viene visualizzata una mappa di bit sprite animati sullo schermo.

AnimatedGameObject.cs codice sorgente C # Silverlight

Le immagini utilizzate per compensare la amminazione sono stati inseriti (questo è fatto semplicemente inserendo il file di immagine nel progetto Silverlight in Visual Studio), e quindi accessibili tramite una piccola utility chiamata ResourceHelper tipo esatto che può essere scaricato da http://www.silverlightexamples.net/post/Load-Bitmap-Image-From-Resource-in-a-Single-Line-of-Code.aspx. Queste immagini vengono applicati a un oggetto Rectangle, che è stato aggiunto alla tela della domanda.

Infine, abbiamo bisogno di un posto per creare queste nuove AnimatedGameObjects. Per questo creeremo il ApplicationManager. E "lo scopo del ApplicationManager di" vedere "il gioco.

ApplicationManager.cs codice sorgente C # Silverlight

Come si può vedere l'Application Manager è una classe molto semplice con l'applicazione si avvia Gestore con la creazione di due nuovi insiemi di oggetti animati. La funzione di avvio viene chiamata Gestione di applicazioni dallo stesso file funzione App.xaml.cs Application_Startup generato automaticamente.

Application_Startup privato void (object sender, StartupEventArgs s)

{

this.RootVisual = nuova pagina ();

ApplicationManager.Instance.startupApplicationManager ();

}

Come punto di partenza abbiamo il nostro render loop e alcune classi di base che ci permettono di aggiornare facilmente gli oggetti di gioco con il rendering animazioni loop e visualizzazione bitmap. Guarda la demo on-line e scaricare il codice sorgente dal repository SVN Sourceforge.

Si visita la confusione http://www.softlogiccorp.com comunità per maggiori dettagli su questo tema o chiamare 302 613 0469 (USA) per ulteriore assistenza.

(0)
(0)

Commenti - 0

Non ci sono commenti

Aggiungi un commento

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Caratteri rimanenti: 3000
captcha