XNA Game Studio Express

XNA Game Studio Express

offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4451

U ovom članku ću govoriti o XNA Game Studio Express, jer je to novi termin za ovaj IDE. U primerima ću koristiti XNA Game Studio 4.0.

Sadržaj

[1] Kratak opis IDE-a i hronologija izdanja
[2] Instalacija (za Visual Studio 2010)
[3] Rad sa Visual C#
[4] Kompatibilnost platformi i hardvera
[4.1] Razvoj igara za Windows Phone
[5] Problem sa Direct3D grafičkom

[1] Kratak opis IDE-a i hronologija izdanja

XNA Game Studio Express (prvobitno realizovan kao XNA Game Studio) stvoren je za studente i one korisnike koji su želeli da na svom PC-u imaju jedan IDE koji je više razvijen od ostalih, ali i koji će moći da koriste besplatno kod svoje kuće i da svoje video igre stvorene u njemu objave na Internetu i od njih zarade. Express verzija sadrži "starter alat" koji pomaže početnicima da stvore video igre različitih žanrova poput strateških igara, pucačina i platformskih igara. Programeri mogu kreirati video igre za operativni sistem Windows, ali da bi pokretali igre na XBox-u 360, moraju plaćati 49$ na svaka 4 meseca koji odlaze u Microsoft XNA Creators Club. Kompajliranje gotovih projekata za XBox 360 nije bilo moguće do izlaska express verzije.

Beta verzija softvera XNA Game Studio Express bila je dostupna za preuzimanje 30. avgusta 2006. godine, a sledeća je stvorena 1. novembra iste godine. Finalna verzija završena je 11. decembra 2006. godine. U aprilu 2007. godine, Microsoft je izdao pojačanje, nazvano "XNA Game Studio Express Refresh 1.0".

Hronologija izdanja:

Arrow XNA Game Studio Beta - 30.08.2006.
Arrow XNA Game Studio Beta Uprgraded - 01.11.2006.
Arrow XNA Game Studio 1.0 - 11.12.2006.
Arrow XNA Game Studio 1.0 Refresh - 24.04.2007.
Arrow XNA Game Studio 2 - 13.12.2007.
Arrow XNA Game Studio 3 (sa podrškom za VB 2008 i C#) - 30.10.2008.
Arrow XNA Game Studio 3.1 - 11.06.2009.
Arrow XNA Game Studio 4.0 - 16.09.2010
Arrow XNA Game Studio 4.0 Refresh - 06.10.2011.



[2] Instalacija


U ovoj tematskoj celini ću obuhvatiti instalaciju softvera XNA Game Studio 4.0 korak po korak. Nemojte preuzimati XNA Game Studio van zvaničnog Microsoft-ovog sajta.

Arrow Download: http://www.microsoft.com/en-us/download/details.aspx?id=23714

Exclamation Napomena pre instalacije:
Proverite da li ste preuzeli ili Visual Studio 2010, ili Windows Phone Developer Tools ili Visual C# 2010 Express, jer u suprotnom nećete moći da instalirate razvojno okruženje XNA Game Studio 4.0.

Ako nemate nijedan IDE od gore pomenutih, posetite ovaj link:

Arrow Download: http://www.microsoft.com/visualstudio/eng/products.....s-products




Kliknite na Express For Windows Desktop ili na link:

Arrow Download: http://www.microsoft.com/visualstudio/eng/products.....ws-desktop

Nakon toga kliknite na Download. Prikazaće se stranica sa Visual Studio rešenjima. Ja ću u ovom primeru preuzeti Visual C# 2010 Express.




Kliknite na Install Now. Setup će raspakovati sve datoteke, što može potrajati do 5 minuta.

1. Korak

Kliknite na link iznad obeležen strelicom. Trebao bi se pokazati prozor poput ovog:



Nakon toga kliknite na dugme Download. Preuzimanje će započeti za 30 sekundi, a ukoliko se desi suprotno, kliknite na ovaj link:

Arrow Download: http://download.microsoft.com/download/0/1/4/01483....._setup.exe

Nakon ovoga sačekajte da se završi preuzimanje datoteke.

2. Korak

Sačekajte da Setup ekstraktuje sve fajlove kao na slici dole:



Nakon raspakivanja, prikazaće se prozor kao na slici dole:



3. Korak

Morate izabrati jednu od dve ponuđene opcije za nastavak instalacije. Prva je da dozvolite komunikaciju sa XBox 360 i vašim računarem i da dozvolite komunikaciju sa Internet igrama preko XNA Framework-a. Ja ću ovoga puta izabrati drugu opciju kako tematska celina Instalacija ne bi bila prevelika.



Instalacija je gotova kada svi fajlovi budu raspakovani. Nakon toga kliknite na Start Meni > All Programs i pronađite XNA Game Studio 4.0. Međutim, sada počinje deo kada se radi sa Visual C#, te ćemo sekciju za završnu obradu ostaviti za pred kraj.

[3] Rad sa Visual C#

U radu sa Visual C# neću kačiti screenshots (nisam trenutno u mogućnosti da ga instaliram ali ću dodatno objasniti proceduru i dati screenshot-ove kada budem u mogućnosti).

Dakle, otvorite Visual C# i kliknite na New Project. Ako ste instalirali XNA Game Studio 4.0 izaberite ga iz menija Installed Templates i pored njega izaberite Windows Game (4.0). Počinjemo sa ovim kodom:

using System; using System.Collections.Generic; using System.Linq; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.GameServices; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Media;

Ovde definišemo da ćemo koristiti XNA Framework.


Početak:

namespace WindowsIgra1 {     /// <summary>     /// Ovo je glavni tip za igru     /// </summary>     public class Igra1 : Microsoft.Xna.Framework.Game     {         GraphicsDeviceManager graphics;         SpriteBatch spriteBatch;         public Igra1()         {             graphics = new GraphicsDeviceManager(this);             Content.RootDirectory = "Content";         }

Ovaj deo se već nalazi na početku i daje neke od osnovnih informacija - njega ne dirajte ako ne želite da stavite neke veće promene unutar igre.


// -------------------------------- // // Postavi veličinu prozora graphics.PreferredBackBufferWidth = 800; graphics.PreferredBackBufferHeight = 600; // Takodje postaviti u fulscreen režim // graphics.IsFullScreen = true; // -------------------------------- //

Ovde određujemo karakteristike prozora u kome se igra dešava.

// U LoadContent() Metodi Texture2D mytexture; // Sprajt (tekstura) Vector2 sPos = Vector2.Zero; // Ubacujemo koordinate prema kojima se odredjuje crtanje samog objekta (2-dimenzionalni prostor) // -------------------------------- // mytexture = Content.Load<texture2d>("ball"); // Pronalazi datoteku sa teksturom. // -------------------------------- //

Ovde određujemo teksturu objekta i predstavljanje objekta (grafički).

// U Update(GameTime GameTime) Metodi Vector2 sSpeed = Vector2.One; // Ovo je direkcija indikatora // -------------------------------- // if (Keyboard.GetState().IsKeyDown(Keys.Escape)) // Izlazi iz igre pri pritisku dugmeta ESC.     this.Exit(); sPos += sSpeed * (float)gameTime.ElapsedGameTime.TotalSeconds * 100; // Ubrzanje objekta int MaxX = graphics.GraphicsDevice.Viewport.Width - mytexture.Width; int MinX = 0; int MaxY = graphics.GraphicsDevice.Viewport.Height - mytexture.Height; int MinY = 0; // Proverava da li je objekat udario u neki od dela prozora. Ako nije, nastavlja dalje kretanje, a ako jeste, nastavlja dalje kretanje u suprotnom smeru. if (sPos.X > MaxX) {     sSpeed.X *= -1;     sPos.X = MaxX; } else if (sPos.X < MinX) {     sSpeed.X *= -1;     sPos.X = MinX; } if (sPos.Y > MaxY) {     sSpeed.Y *= -1;     sPos.Y = MaxY; } else if (sPos.Y < MinY) {     sSpeed.Y *= -1;     sPos.Y = MinY; }

U kodu iznad smo, dakle, završili zadnji deo igre (definisanje kretanja objekta i izlaska iz igre). Ostaje vam da igru debug-ujete pritiskom na .

[4] Kompatibilnost platformi i hardvera

Windows Phone - Tastatura, miš, mikrofon, dodirna tabla, aceleratometar.
XBox 360 - Igračka palica, tastatura, mikrofon.
Windows - Igračka palica, tastatura, miš, mikrofon.

Linkovi za zainteresovane za rad na projektima u XNA:

AppHub - razvoj igara i igračkih aplikacija na Win7
Kinect igre na Windows - ova tehnologija se još uvek razvija
XBOX Video igre.

I ono što će vas možda najviše zanimati, ako želite da pravite igre za Windows Phone možete naručiti Biznis ediciju XNA alata slanjem poruke na e-mail mobilegames@microsoft.com.

[4.1] Razvoj igara za Windows Phone

Postupak je isti sem što birate Windows Phone Game 4.0.

Kod: (// komentar)

Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 Express for Windows Phone //definišemo za šta ćemo koristiti primer Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MangoLander", //ime projekta. "MangoLander\MangoLander\MangoLander.csproj", "{C94CC0F2-C027-4429-98AA-EFA77D698BBA}" EndProject // direktorijum projekta i završetak početnog opisa projekta. Project("{96E2B04D-8817-42C6-938A-82C39BA4D311}") = "MangoLanderContent", "MangoLander\MangoLanderContent\MangoLanderContent.contentproj", "{BE887C45-C276-4FD6-A958-D7E5F3FAC7F5}" EndProject //preuzima se sadržaj iz projekta Global         GlobalSection(SolutionConfigurationPlatforms) = preSolution                 Debug|Windows Phone = Debug|Windows Phone //definiše da se projekat debaguje pod Windows Phone okruženjem                 Release|Windows Phone = Release|Windows Phone         EndGlobalSection         GlobalSection(ProjectConfigurationPlatforms) = postSolution                 {C94CC0F2-C027-4429-98AA-EFA77D698BBA}.Debug|Windows Phone.ActiveCfg = Debug|Windows Phone //aktivacija konfiguracije                 {C94CC0F2-C027-4429-98AA-EFA77D698BBA}.Debug|Windows Phone.Build.0 = Debug|Windows Phone //izgradnja                 {C94CC0F2-C027-4429-98AA-EFA77D698BBA}.Debug|Windows Phone.Deploy.0 = Debug|Windows Phone //otvara                 {C94CC0F2-C027-4429-98AA-EFA77D698BBA}.Release|Windows Phone.ActiveCfg = Release|Windows Phone //aktivacija otvorenih fajlova                 {C94CC0F2-C027-4429-98AA-EFA77D698BBA}.Release|Windows Phone.Build.0 = Release|Windows Phone                 {C94CC0F2-C027-4429-98AA-EFA77D698BBA}.Release|Windows Phone.Deploy.0 = Release|Windows Phone                 {BE887C45-C276-4FD6-A958-D7E5F3FAC7F5}.Debug|Windows Phone.ActiveCfg = Debug|Windows Phone                 {BE887C45-C276-4FD6-A958-D7E5F3FAC7F5}.Release|Windows Phone.ActiveCfg = Release|Windows Phone //ovo se dalje ponavlja više puta         EndGlobalSection         GlobalSection(SolutionProperties) = preSolution                 HideSolutionNode = FALSE         EndGlobalSection EndGlobal

Ovim kodom gore definišemo da želimo da naša aplikacija (video igra) radi pod Windows Phone okruženjem.

XML:

<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">   <PropertyGroup>     <ProjectGuid>{BE887C45-C276-4FD6-A958-D7E5F3FAC7F5}</ProjectGuid>     <ProjectTypeGuids>{96E2B04D-8817-42c6-938A-82C39BA4D311};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>     <Platform Condition=" '$(Platform)' == '' ">x86</Platform>     <OutputType>Library</OutputType>     <AppDesignerFolder>Properties</AppDesignerFolder>     <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>     <XnaFrameworkVersion>v4.0</XnaFrameworkVersion>     <OutputPath>bin\$(Platform)\$(Configuration)</OutputPath>     <ContentRootDirectory>Content</ContentRootDirectory>   </PropertyGroup>   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|Windows Phone'">     <PlatformTarget>x86</PlatformTarget>   </PropertyGroup>   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|Windows Phone'">     <PlatformTarget>x86</PlatformTarget>   </PropertyGroup>   <PropertyGroup>     <RootNamespace>MangoLanderContent</RootNamespace>   </PropertyGroup>   <ItemGroup>     <Reference Include="Microsoft.Xna.Framework.Content.Pipeline.EffectImporter, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=MSIL" />     <Reference Include="Microsoft.Xna.Framework.Content.Pipeline.FBXImporter, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=MSIL" />     <Reference Include="Microsoft.Xna.Framework.Content.Pipeline.TextureImporter, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=MSIL" />     <Reference Include="Microsoft.Xna.Framework.Content.Pipeline.XImporter, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=MSIL" />     <Reference Include="Microsoft.Xna.Framework.Content.Pipeline.AudioImporters, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=MSIL" />     <Reference Include="Microsoft.Xna.Framework.Content.Pipeline.VideoImporters, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=MSIL" />   </ItemGroup>   <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" />   <Target Name="BeforeBuild">   </Target>   <Target Name="AfterBuild">   </Target> </Project>

Dalje nastavljamo, naravno, po protokolu C# jezika.

[5] Problem sa Direct3D grafičkom

Očekivano je da ovaj problem postoji i kod vas, tj. , kada debagujete projekat pojavi se ovaj prozor.



Idea Istraživajući malo po Internetu pronašao sam rešenje i za ovaj problem Smile



Kliknite desnim tasterom miša na Windows Game 4.0 i levim na Properties.



Označite prvu opciju i debagujte video igru.



Sada je, kao što vidimo, igra pokrenuta (ne obraćajte pažnju na plavi ekran, ovo je samo primer).

Exclamation Pažnja!
Prva opcija je dosta ograničena, međutim to je savršena alternativa ako želite da normalno radite video igre u Windows-u, bez nabavke nove grafičke kartice.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
Ko je trenutno na forumu
 

Ukupno su 600 korisnika na forumu :: 50 registrovanih, 5 sakrivenih i 545 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 1567 - dana 15 Jul 2016 19:18

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 4bobo, 8u47, A.R.Chafee.Jr., amaterSRB, bato3, bespilotni, bojcistv, bulovic, Davor Kondic, Eyes Wide Shut, Fog of War, Georgius, ikan, jesenko1974, Joja2, komkom, Kos93, krkalon, Kubovac, Logic005, matorigile, MIG-3, Milenko Vujinovic, Mirage 2000N, Mixelotti, nedeljkovici, Nenad Stankovic, Oluj2.1, Panter2, Raptor12, RJ, rkekoke, robertino2, rovac, slonic_tonic, Snorks, srecko81, SsssssNOVI, StepskiVuk, stug, suton2, tmanda323, trutcina, Vatreni Zmaj, VJ, vobo, Vojkan Petrovic, wizzardone, zixmix, 1877