XNA for C#
DirectX 9 for C#
DirectX 9 for C++
DirectX 9 for VB
Forum
   
My XNA Book
      
       Go to section on this site

Další informace


Poslední príspevky na fóru

 Account settings
  Posted by: Anonymous
  When: 07/05/2014 at 09:48:39

 forced subtitle
  Posted by: Applefly
  When: 07/05/2014 at 06:00:48

 convert DVD into PMS
  Posted by: Applefly
  When: 07/05/2014 at 05:55:25

 DVD to Digital Copy easily
  Posted by: VIKIVannessa
  When: 05/05/2014 at 06:52:29

 DVD on Xbox 360/Xbox One Console
  Posted by: VIKIVannessa
  When: 05/05/2014 at 06:51:47

 Extract .Srt Subtitles
  Posted by: Applefly
  When: 04/05/2014 at 03:54:38

 Encode Movie collection
  Posted by: Applefly
  When: 04/05/2014 at 03:52:41

 Convert DVD to WMV
  Posted by: Applefly
  When: 29/04/2014 at 05:53:50

 rip DVDs into digital files
  Posted by: Applefly
  When: 29/04/2014 at 05:51:20

 iTunes movies/music to Kindle Fire
  Posted by: ciciyu80
  When: 29/04/2014 at 05:10:20


Ads

Začátek projektu

Vítejte v první části tohoto XNA tutoriálu. Tento tutoriál je zaměřen na lidi, kteří nemají žádné zkušenosti s 3D programováním a rádi by viděli výsledky v co nejkratším čase. Uvolněn v prosinci 2006 je XNA nový jazyk, stavějící na DirectX a ulehčující programování her.

Programy potřebné pro psaní vašeho vlastního XNA kódu jsou kompletně zdarma:

  • Microsoft XNA game studio, programovací prostredí (zdarma) ( odkaz)
  • Microsoft Visual Studio C# Express (zdarma) ( odkaz)

    Se všemi nainstalovanými programy mužete pustit XNA game studio, které najdete v menu Start. Bežte do File menu a vyberte New Project. Jako šablonu projektu vyberte samozrejme Windows game (XNA). Nastavením pro Xbox360 se budeme zabývat pozdeji. Vyplnte jméno projektu a stisknete OK. 

    Malý projekt je vytvoren a napravo mužete videt už pripraveny 2 soubory: Game1.cs a Program.cs. Mužete se podívat na kód v souborech kliknutím pravým tlacítkem myši a vybrat View code. Váš program zacíná v Program.cs, v metode Main. Main metoda jednoduše volá kód v Game1.cs. V Program.cs není nic co by bylo potreba zmenit. 

    Otevrete soubor Game1.cs. Ackoliv je popsán komentári, urcite se bude hodit, když si neco o strukture povíme:

  • Hlavní metoda Game1() je volána pri startu. Nacítá nekolik promených potrebných pro XNA framework.
  • Metoda Initialize je volána jednou a to pri startu. Do této metody budeme pridávat náš spuštecí kód
  • Metoda (Un)LoadGraphicsContent je používaná pro vkládání média, jako naprklídat obrázky, objekty a zvuk.
  • Metoda Update je volána každý frame pred vykreslením. Sem budeme psát kód, který bude potreba neustále obnovovat po celý život programu, jako napr. ctení stisku klávesnice a z toho vyplívající zmena polohy teles na scéne.
  • Metoda Draw je volána, tak casto jak váš pocítac (konkrétne grafická karta) dovolí. Zde budeme psát kód, který vykreslí aktualní scénu na obrazovku.

    Jak mužete videt, tak zde je už pripravený kód k vytvorení okna. Tento kód byl vytvoren automaticky. Když si spustíte váš projekt stisknutím F5, tak vám už vyskocí krásné modré okno.

    Jdeme na to. Pridáme odkaz na grafické zarízení (graphics device). Krátce, device je prímý odkaz na váš grafický adaptér. Je to objekt dávající vám prímý prístup k vašemu hardwaru uvnitr pocítace. Zaprvé, deklarujeme tuto promenou, pridáním tohoto kódu navrch vaší trídy, presneji nad metodu Gam1():

     GraphicsDevice device;

    Dále, využijeme této promenné. Vytvoríme si malou metodu SetUpXNADevice. Vložte ji nekam do stredu stránky. Já jsem ji vložil za inicializacní metodu:

     private void SetUpXNADevice()
     {
         device = graphics.GraphicsDevice;
     
         graphics.PreferredBackBufferWidth = 500;
         graphics.PreferredBackBufferHeight = 500;
         graphics.IsFullScreen = false;
         graphics.ApplyChanges();
         Window.Title = "Riemer's XNA Tutorials -- Series 1";
     }

    První rádek ukládá odkaz na vaše grafické zarízení v promenné device. Dále, jsme nastavili rozmery backbuffer, který bude obsahovat to, co vykreslíme na obrazovku. Také jsme si nastavili, aby se nám program pouštel v okne. Poslední rádek nastavuje titulek našeho okna.
    Pokud chceme tuto metodu provést na startu, musíme ješte pridat volání této metody dovnitr naší inicializacní metody:

     SetUpXNADevice();

    Když spustíte tento kód, meli byste videt okno o rozmerech 500x500 pixelu s titulkem jaký jste si nastavili.




    DirectX Tutorial 1 - Začátek projektu

    If you appreciate the amount of time I spend creating and updating
    these pages, feel free to donate -- any amount is welcome !



    Click here to go to the forum on this chapter!


    Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home1/riemers/public_html/chz/Tutorials/XNA/Csharp/Series1/Starting_a_project.php(9) : eval()'d code(35) : eval()'d code on line 303



    Po každém tutoriálu uvedu celý cistý kód se zvýraznenými zmenami v aktuálním tutoriálu. Oddelal jsem pryc všechny komentáre, takže to vypadá lépe.

     
     #region Using Statements
     using System;
     using System.Collections.Generic;
     using Microsoft.Xna.Framework;
     using Microsoft.Xna.Framework.Audio;
     using Microsoft.Xna.Framework.Content;
     using Microsoft.Xna.Framework.Graphics;
     using Microsoft.Xna.Framework.Input;
     using Microsoft.Xna.Framework.Storage;
     #endregion
     
     namespace XNAtutorial
     {
         public class Game1 : Microsoft.Xna.Framework.Game
         {
             GraphicsDeviceManager graphics;
             ContentManager content;
             GraphicsDevice device;
     
             public Game1()
             {
                 graphics = new GraphicsDeviceManager(this);
                 content = new ContentManager(Services);
             }
     
             protected override void Initialize()
             {
                 base.Initialize();
                 SetUpXNADevice();
             }
     
             private void SetUpXNADevice()
             {
                 device = graphics.GraphicsDevice;
     
                 graphics.PreferredBackBufferWidth = 500;
                 graphics.PreferredBackBufferHeight = 500;
                 graphics.IsFullScreen = false;
                 graphics.ApplyChanges();
                 Window.Title = "Riemer's XNA Tutorials -- Series 1";
             }
             
             protected override void LoadGraphicsContent(bool loadAllContent)
             {
                 if (loadAllContent)
                 {        
                 }
             }
     
             protected override void UnloadGraphicsContent(bool unloadAllContent)
             {
                 if (unloadAllContent == true)
                 {
                     content.Unload();
                 }
             }
     
             protected override void Update(GameTime gameTime)
             {
                 if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
                     this.Exit();
                 base.Update(gameTime);
             }
     
             protected override void Draw(GameTime gameTime)
             {
                 graphics.GraphicsDevice.Clear(Color.CornflowerBlue);
     
                 base.Draw(gameTime);
             }
         }
     }


    Google
     
    Webwww.riemers.net


    If you appreciate the amount of time I spend creating and updating
    these pages, feel free to donate -- any amount is welcome !



    - Website design & XNA + DirectX code : Riemer Grootjans -
    ©2003 - 2011 Riemer Grootjans
  • Translations

    This site in English
    This site in Korean
    This site in Czech

    Microsoft MVP Award



    2007 - 2011 MVP Award
    DirectX - XNA

    Contents

    Tutoriály
    XNA používající C#
    Series 1: Terrain
    Začátek projektu
    Soubor Effect
    Vykreslení prvního trojúhelníku
    -- Expand all --


    Thank you!

    Podporte tuto stránku
    jakákoliv cástka je vítaná!

    Zustante informováni

    I don't have the time to keep a News section, so stay informed about the updates by clicking on this RSS file!