Iscriviti ora!   
 
Schede Animali  Schede Animali      Un RPG in XNA - Basi del gioco: gli sprite -... 
 



 Menù

Forum
Chat
Invertebrati
Mammiferi
Pesci
Rettili e anfibi
Uccelli

 Ultimi post forum

Computer nuovo...
Dopo anni di fedele servizio ecco andare in...

Torino 2006
State seguendo queste fantastiche...

i suoi occhi mi...
ciao...finalmente ho trovato questa...

Lunedì parto...
Lunedì parto per lavoro...mi mancherete non...

Zio Paperone
Ma è zio paperone ad essere bravo negli...

Persone a cui non...
Com'è possibile che ad alcune persone non...

Citadel
Ho scoperto da poco questo gioco di carte...

photoshop 7.0
AIUTOOO!!!!!!!! l'ho appena installato ma...

I colori di noi...
Quali sono i colori di noi girls? Che colore...

Street Fighter III...
Non ho capito alcune parti della storia del...

soluzione...
nessuno

 


Un RPG in XNA - Basi del gioco: gli sprite - PARTE 2


 
Un RPG in XNA - Basi del gioco: gli sprite - PARTE 2

GUARDA LA PARTE 1 PRIMA DI PROSEGUIRE CON LA LETTURA

Vediamo la classe codifica in C#. Si trova all'interno della cartella "GameEngine" del progetto (potete capirlo dal namespace)

using System;
using System. Collections. Generic;
using System. Linq;
using System. Text;
using Microsoft. Xna. Framework;
using Microsoft. Xna. Framework. Content;
using Microsoft. Xna. Framework. Graphics;
namespace RPG_Example. GameEngine
{
class SpriteBase
{
// Texture generale
public Texture2D texture;
/* Dati per l'animazione
* AnimVel indica la velocità dell'animazione (in millesecondi)
* AnimAttiva indica se l'animazione è attiva (true) o ferma (false).
* Frame il frame al quale si trova
* FrameTick E' usata per l'aggiornamento
* FrameData E' il rettangolo da disegnare della frame
* MaxFrame E' il numero di frame totali da visualizzare per quest'animazione [di default ho messo 3]
* posizione Vettore2D per la posizione sullo schermo
*/
public int AnimVel = 80;
public bool AnimAttiva = true;
private int _Frame = 0;
private double FrameTick = 0;
public int MaxFrame = 3;
protected Rectangle FrameData = new Rectangle (0, 0, 32, 32);
public Vector2 posizione = new Vector2 (0, 0);
/* Costruttore della classe */
public SpriteBase ()
{
// Crea il FrameData di base
FrameData = new Rectangle (0, 0, 32, 32);
}
/* Costruttore della classe
* fWidth indica la larghezza della frame
* fHeight indica l'altezza della frame
*/
public SpriteBase (Int32 fWidth, Int32 fHeight)
{
// Crea il FrameData di base
FrameData = new Rectangle (0, 0, fWidth, fHeight);
}
/* Caricamento Texture
* content indica il ContentManager dove caricare la texture
* filename indica il nome del file aggiunto al content di gioco
* senza l'estensione.
*/
Public void Carica (ContentManager content, String filename)
{
texture = content. Load < Texture2D> (filename);
}
/* Disegna la texture
* spriteBatch indica un oggetto SpriteBatch per disegnare
*/
public void Disegna (SpriteBatch spriteBatch)
{
spriteBatch. Draw (texture, posizione, FrameData, Color. White);
}
/* Aggiornamento dello sprite
* gameTime indica il tempo di gioco
*/
public void Update (GameTime gameTime)
{
// Se AnimAttiva = = false, allora non aggiornare l'animazione
if (AnimAttiva = = false) { return; }
// Bisogna andare al prossimo frame??
if (gameTime. TotalGameTime. TotalMilliseconds ? FrameTick > AnimVel)
{
if (Frame < MaxFrame) { Frame = Frame + 1; }
else{Frame = 0; }
FrameTick = gameTime. TotalGameTime. TotalMilliseconds;
FrameData. X = Frame * FrameData. Width;
}
}
// Frame corrente
public int Frame
{
get { return _Frame; }
set
{
_Frame = value;
FrameData. X = Frame * FrameData. Width;
}
}
}
}

Sweet Vengeance della Freank-Expo



Autore: Freank

 Commenti
LEGGI TUTTI

News di attualità

Lunedi 24 verranno...
Lunedì 24 gennaio, alle ore 21, 00 verranno...

Colpo di scena in...
Quinta stagione di Dr. House, l'affascinante...

Lumoria, la...
Ne è passato di tempo dal vecchio "Halo:...

Se Cogne finisce...
Cristina Comencini ci riprova. Dopo " Lo...

Inter, Ranieri...
Claudio Ranieri aspetta con ansia il rientro...

 




pubblicità | siti partner | regole | visione | diritti | ufficio stampa | donazioni | scrivici
© 1999-2012 - P.IVA 02284690035 - Grafica, layout e contenuti sono di esclusiva proprietà di Schede Animali.

Web Design by ArcadiA Club

Powered by:
Spazi pubblicitari di alto livello