programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf ·...

51

Upload: others

Post on 07-Sep-2019

15 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET
Page 2: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Programarea jocurilor inXNA Game Studio 3.0

Cătălin Zima

Microsoft DirectX/XNA [email protected]

Page 3: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

CuprinsCe este XNA Game Studio ?InstalareAnatomia unui jocXNA Framework

Graphics, Audio, Math, Input, Content Pipeline

Xbox 360ResurseIntrebări

Page 4: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

XNA Game Studio 3.0

Framework

Page 5: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

XNA FrameworkUn set de biblioteci destinate programării jocurilorC#Grafică bazată pe DirectX 9.0cFuncţionalităti uzuale implementate

Initializarea ferestrei si a placii videoManagementul resurselorIncarcarea de modele, texturi, suneteComunicare in reteaDispozitive de input (Mouse, Tastatura, Gamepad)

Cross Platform

Page 6: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Instalare si Rulare1. Visual C# 2008 (Pro sau Express)

• MSDNAA sau www.dreamspark.com

• http://www.microsoft.com/express/vcsharp/

2. XNA Game Studio 3.0• http://creators.xna.com/en-us/xnags_islive

Page 7: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Anatomia unui JocO bucla continua

Elemente ale sceneiStarea lor modificata in Update()Desenate pe ecran in Draw()

Input => Raspuns

Initialize(); //create window, initialize video card, etc.while (!userWantsToQuit){

Update(); // update state of the gameDraw(); // draw objects in the game

}CleanUp(); // release used memory

Page 8: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

XNA GS 3.0 – clasa Gamepublic class Game1 : Microsoft.Xna.Framework.Game

{GraphicsDeviceManager graphics;

public Game1(){

graphics = new GraphicsDeviceManager(this);Content.RootDirectory = "Content";

}

protected override void Initialize(){

// TODO: Add your initialization logic herebase.Initialize();

}

protected override void LoadContent(){

// TODO: use this.Content to load your game content here}

Page 9: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

XNA GS 3.0 – clasa Gameprotected override void Update(GameTime gameTime){

// TODO: Add your update logic herebase.Update(gameTime);

}

protected override void Draw(GameTime gameTime){

GraphicsDevice.Clear(Color.CornflowerBlue);// TODO: Add your drawing code herebase.Draw(gameTime);

}

protected override void UnloadContent(){

// TODO: Unload any non ContentManager content here}

Page 10: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Desenarea unui obiect 2DAnimatieControl utilizator

Page 11: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

XNA Framework

Core Framework

Graphics Audio Input Math Storage

Networking Gamer Services

Extended Framework

Application Model Content Pipeline

Games

Starter KitsYour Code Your Content Components

Platform

DirectX .NET Framework .NET CF

Networking Gamer Services

Page 12: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Grafică 2DImaginile se încarcă în obiecte Texture2DSe folosește clasa SpriteBatch

Colorare, Scalare, Rotire, OglindireDesenare de textTransparente si Alpha BlendingOptimizată pentru performanţă

2D și 3D pot fi combinate

Page 13: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Grafică 2D - exempleTexture2D exampleTexture; //Texture object[...]protected override void LoadContent(){

// Create a new SpriteBatch,used to draw textures.spriteBatch = new SpriteBatch(GraphicsDevice);exampleTexture = Content.Load<Texture2D>("nog");

}[...]protected override void Draw(GameTime gameTime){

GraphicsDevice.Clear(Color.CornflowerBlue);spriteBatch.Begin();spriteBatch.Draw(exampleTexture, new Vector2(100,100),     

Color.White);spriteBatch.End();base.Draw(gameTime);

}

Page 14: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

spriteBatch.Draw(exampleTexture, new Vector2(100,100), Color.White);

Page 15: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

ColoraţiespriteBatch.Draw(exampleTexture, new Vector2(100,100), Color.Red);

Page 16: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Specificare Dimensiuni spriteBatch.Draw(exampleTexture, new Rectangle(150,150,300,300), Color.White);

Page 17: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Selectare regiunespriteBatch.Draw(exampleTexture, new Rectangle(150,150,300,300),

new Rectangle(0,0,400,250), Color.White);

Page 18: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Rotire în jurul unui punctspriteBatch.Draw(exampleTexture, new Vector2(400, 300), null, Color.White, MathHelper.ToRadians(‐45), new Vector2(200,200),1.0f, SpriteEffects.None, 0);

Page 19: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Scalare și OglindirespriteBatch.Draw(exampleTexture, new Vector2(400, 300), null, Color.White, 

MathHelper.ToRadians(‐45), new Vector2(200,200),0.5f, SpriteEffects.FlipHorizontally, 0);

Page 20: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Fără TransparenţăspriteBatch.Begin(SpriteBlendMode.None);

Page 21: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Însumare culorispriteBatch.Begin(SpriteBlendMode.Additive);

Page 22: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Grafică 3DBazată pe DirectX 9.0cSuport pentru majoritatea funcţionalităţilor standard DirectX:

Effects, Shaders, Vertex Streams, Textures, Vertex Textures, Render To Texture, Hardware Instancing, etc.

De asemenea clase ajutătoareModelBasicEffectBiblioteca matematicăManagementul dispozitivului grafic

Page 23: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Grafică 3D - CameraCamera definește de unde vede jucătorul scenaDefinită de 2 matrici de transformare

View Matrix – stabilește poziţia și orientarea camerei în scenăProjection Matrix – definește unghiul de deschidere, distanţa minimă și maximă de desenare, raportul între lăţimea și înălţimea imaginii

Page 24: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Matrici pentru camerăMatrix.CreateLookAt(cameraPosition, cameraTarget, 

cameraUpVector);

Matrix view = Matrix.CreateLookAt(new Vector3(0,100,100), Vector3.Zero,Vector3.UnitY);

Matrix.CreatePerspectiveFieldOfView(fieldOfView, aspectRation, nearPlaneDistance, farPlaneDistance);

Matrix projection = Matrix.CreatePerspectiveFieldOfView(MathHelper.PiOver4, GraphicsDevice.Viewport.AspectRatio, 1.0f, 10000.0f);

Page 25: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Grafică 3D - ModelClasa folosită pentru a desena modele 3DNu poate fi creată prin cod, doar încărcată dintr-un fișierPentru geometrie creată prin cod se folosește clasa VertexBufferModel = colecţie de ModelMeshModelMesh = colecţie de ModelMeshPartModeMeshPart = geometrie + material

Page 26: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Grafică 3D – PoziţionareModelele trebuie poziţionate în scenăPoziţionarea se face în momentul desenării =>Același model poate fi desenat în mai multe locaţii

Se crează o matrice numită World MatrixWorld Matrix = produs de mai multe matrici

Scalare – Matrix.CreateScale(xScale, yScale, zScale);

Rotaţie - Matrix.CreateRotationX(radians);

- Matrix.CreateFromYawPitchRoll(y, p, r);

Translaţie - Matrix.CreateTranslation(new Vector3(x, y, z));

Poziţie + Orientare - Matrix.CreateWorld(position,   forwardVector, upVector);

Page 27: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Grafică 3D – PoziţionareExemplu:

Atenţie la ordinea operaţiilor!De obicei scalare * rotaţie * translaţie

Matrix world;world = Matrix.CreateScale(2) * 

Matrix.CreateRotationY(MathHelper.ToRadians(35)) *Matrix.CreateTranslation(new Vector3(50, 0, ‐30));

Page 28: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Încărcare unui model

Desenarea unui model

Model myModel;myModel = Content.Load<Model>("modelul_meu");

foreach (ModelMesh mesh in myModel.Meshes){

foreach (BasicEffect effect in mesh.Effects){

effect.World = worldMatrix; //different for each modeleffect.View = viewMatrix; //from cameraeffect.Projection = projectionMatrix; //from cameraeffect.EnableDefaultLighting();

}mesh.Draw();

}

Page 29: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Probleme 2D + 3D Când se combină 2D (spriteBatch) cu 3D, pot aparea unele probleme

Modele 3D transparenteObiecte din depărtare apar în faţa celor din apropiere

SpriteBatch setează anumiţi parametrii2 soluţii

spriteBatch.Begin(..., ..., SaveStateMode.SaveState);Setarea manuală a parametriilor modificați înainte de 3Dhttp://blogs.msdn.com/shawnhar/archive/2006/11/13/spritebatch‐and‐renderstates.aspx

GraphicsDevice.RenderState.DepthBufferEnable = true;GraphicsDevice.RenderState.AlphaBlendEnable = false;GraphicsDevice.RenderState.AlphaTestEnable = false;GraphicsDevice.SamplerStates[0].AddressU = TextureAddressMode.Wrap;GraphicsDevice.SamplerStates[0].AddressV = TextureAddressMode.Wrap; 

Page 30: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Content LoadingXNA ajută la încărcatul de conţinutFișierele sunt adaugate la proiect în Visual Studio

Corectitudinea verificată la compilareTransformate și comprimate în formate interne =>performanţă mai mare la execuţieNu se pot încarca fișiere “dinamic”

Suport integrat pentru:Modele 3D: .X and .FBXImagini 2D: .DDS .BMP .JPG .PNG .TGAMateriale: .FXFișiere audio: .wav, .mp3, .wma.XML

Page 31: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Încărcarea unei imaginiClick-dreapta pe sub-proiectul Content

Page 32: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Încărcarea unei imaginiClick-dreapta pe sub-proiectul Content

Page 33: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Încărcarea unei imaginiSelectarea imaginii

Page 34: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Încărcarea unei imaginiProprietăţi

Page 35: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Încărcarea unei imaginiÎncărcarea din cod

Page 36: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Funcţionalităţi avansateSe pot defini ”procesoare” pentru resurseFolosite pentru a aplica transformări, calcule, conversii, verificăriPentru a încărca alte tipuri de fișiere decât cele standardSunt executate la compilare

Page 37: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Desenarea unui obiect 3D

Page 38: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

SunetSe folosesc clasele Song și SoundEffectFormate suportate: .mp3, .wav, .wmaSong

Folosit pentru melodii lungi (muzică)Suport pentru playlists

SoundEffectRecomandat pentru sunete scurteSunete dintr-un joc (meniuri, arme, efecte speciale)Control mai mare asupra sunetuluiVolum, pitch, pozitionare 3D

Page 39: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

SongSong exampleSong; //Song object[...]protected override void LoadContent(){

exampleSong = Content.Load<Song>(“music”);}[...]//play the songMediaPlayer.Play(exampleSong);//playback controlMediaPlayer.Pause();MediaPlayer.Resume();MediaPlayer.Stop();MediaPlayer.MoveNext();MediaPlayer.MovePrevious();//some propertiesMediaPlayer.Volume = 0.6f;MediaPlayer.Queue

Page 40: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

SoundEffect

Diferenţe? Pitch, Pan, Loop și 3D

SoundEffect exampleSound; //SoundEffect objectSoundEffectInstance soundInstance; //Sound instance//load the soundexampleSound = Content.Load<SoundEffect>(“sound”);//play a soundsoundInstance = exampleSound.Play();soundInstance = exampleSound.Play(volume, pitch, pan, loop);//control a playing soundsoundInstance.Play();soundInstance.Pause();soundInstance.Resume();soundInstance.Stop();//some properties (controllable)Pitch, Pan, Volume

Page 41: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

SoundEffect în 3DPoziţionare în spaţiuAudioListener – poziţia, orientarea și viteza ascultătoruluiAudioEmitter – poziţia, orientarea și viteza emiţătoruluiAudioEmitter AudioEmitter emitter = new AudioEmitter();

AudioListener listener = new AudioListener();//proprietăți pentru emitter si listenerPosition, Velocity, Forward, Up//redearea unui sunet poziționat 3Dsound.Play3D(listener, emitter);soundInstance.Apply3D(listener,emitter);

Page 42: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

InputSuport pentru Mouse, Tastaturăși Gamepad

//MouseMouse.GetState().X //pozitia pe axa X (sau Y)if (Mouse.GetState().LeftButton == ButtonState.Pressed)

...//TastaturăKeyboard.GetState().IsKeyDown(Keys.F);Keyboard.GetState().IsKeyUp(Keys.Escape);Keyboard.GetState().GetPressedKeys();

//gamepadGamePadState state = GamePad.GetState(PlayerIndex.One);state.Buttons.A, state.Buttons.Start, state.ThumbSticks.Left.Xstate.Triggers.LeftGamePad.SetVibration(PlayerIndex.One, leftMorot, rightMotor);

Page 43: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Biblioteca de MatematicăXNA conţine o bibliotecă pentru matematică foarte puternicăVector, Matrix, Quaternion, Plane, BoundingBox, BoundingSphere, Sphere, Ray, Curve, Frustum

Right Handed systemTeste pentru determinat intersecţiiFuncţionalitate: operatori definiţi pe toate clasele, rutine de conversie, constante pentru valori uzuale

Page 44: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

ReţeaSuport pentru jocuri în reţea, folosind Xbox Live! sau Games for Windows Live!Managementul sesiunilor de joc

Ușor de creat și căutat sesiuniNu e nevoie de servere specializateDacă “gazda” pleacă, migrare automatăManagementul fluxului de joc

Creare/Cautare sesiune -> Lobby -> Joc

Page 45: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

ReţeaMesaje transmise prin

SendData și ReceiveDataConexiune UDP sigurăClient-Server sau Peer-to-Peer

Suport pentru voce automatSe poate simula latenţă și pierderi de pachete

Exemple de codhttp://creators.xna.com/en-US/starterkit/netrumblehttp://creators.xna.com/en-US/education/catalog/?contenttype=0&devarea=19&sort=1

Page 46: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Programare Xbox 360 Lucraţi în Windows, testaţi pe XboxJocurile pentru Windows pot fi convertite în proiecte pentru XboxSe crează un nou proiect,dar fișierele sunt aceleașiLa compilare, alegeţi platforma pentru care doriţi să compilaţi

Page 47: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Programare Xbox 360Rezoluţia recomandată: 1280*720

Atenţie la “garbage collection”!512 MB memorie (principală + video)Input: Gamepad recomandat, posibil tastatură (USB), nu mouse

public Game1(){

graphics = new GraphicsDeviceManager(this);graphics.PreferredBackBufferWidth = 1280;graphics.PreferredBackBufferHeight = 720;

}

Page 48: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Deployment Xbox360Necesar:

Cont de Xbox Live!Subscripţie Creator’s Club

Trial: MSDNAA sau DreamSparkPremium

Conexiune la internet pt Xbox (tcp/udp 3074, 53, 88)Xbox și calculatorul în același subnet

Instrucţiuni:http://msdn.microsoft.com/en-us/library/bb975643.aspx

http://msdn.microsoft.com/en-us/library/bb976062.aspx

Page 49: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

DebuggingCand rulează jocul pe Xbox, puteţi pune breakpoints în Visual Studio, și jocul se va opri la linia respectivăPuteţi analiza variabilele, executa pas cu pas o porţiune de cod, etc.XNA GS vine cu un utilitar: “XNA Framework Remote Performance Monitor”

Nu optimizaţi înainte sa aveţi nevoie!

Page 50: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

ResurseDocumentaţia inclusă in XNA GS 3.0Site oficial: creators.xna.com

http://creators.xna.com/en-US/education/Tutoriale, exemple, starter kits, utilităţiForums http://forums.xna.com/forums/

Alte resurse utilehttp://creators.xna.com/en-US/community_resources

Lista de resurse create de comunitate

www.xnadevelopment.comwww.riemers.net

Page 51: Programarea jocurilor in - profs.info.uaic.robusaco/teach/courses/interfaces/docs/hci-xna.pdf · Your Code Your Content Components Starter Kits Platform DirectX .NET Framework .NET

Întrebări?