Vyvíjíme hry v XNA pro Windows Phone – Seminář 1

Post on 02-Jun-2015

5,411 views 3 download

description

Prezentace z hands-on-labu o vývoji her v XNA, 20.3.2012 v Praze, viz http://vbnet.cz/blog-clanek--428-prezentace_a_materialy_z_hands_on_labu.aspx

transcript

Vývoj her v XNApro Windows Phone 7.5 1.

Tomáš Slavíčekmail@tomasslavicek.cz Twitter: @tomasslavicek

Agenda 1/2 Windows Phone a ČR základy XNA

orientace displeje, změna rozlišení… vykreslování pohyb objektů, základní kolize

Agenda 2/2 více dotyků, gesta pohybový senzor

text, lokalizace hry vstup z klávesnice, ukládání dat…

portace pro PC/Xbox (rozdíly)

…prostor pro dotazy

Za týden… animace, přesné pozicování (otáčení) pokročilejší kolize

„multitasking“ na WP zvuky a hudba, tombstoning

načítání z XML, online skóre

propojení Silverlight / XNA

Windows Phone 7.5 „nová“ mobilní platforma

Windows Phone 7.5 situace v ČR

Pevné hardwarové požadavky

displej 800x480 pix, alespoň 4 dotyky výkonný procesor, DirectX9 GPU

GPS, akcelerometr, kompas, (gyroskop) mobilní internet, (fotoaparát)

tlačítka

Hry na Windows Phone ukázka…

Hry na Windows Phone normální vs. Xbox LIVE hry způsob ovládání (displej, senzory…)

Aktuální situace klíčová slova: Mango, Tango, Nokia

Přehled verzí

Windows Phone 7

NoDo

Mango (Windows Phone 7.5)

„Tango“ (+ levnější zařízení)

Apollo

Budoucnost Windows 8 WP Apollo

Marketplace CZ přes 300 českých aplikací, 40 her

Marketplace CZ přes 300 českých aplikací, 40 her

Marketplace

Marketplace 64% zdarma 27 Kč průměrná cena, hry dražší 57 Kč prům. cena aplikace v Top 100

možnost trial verzí

nejvíce se kupují hry

Zkušenosti hra Galaxy Jet

Zkušenosti hra Galaxy Jet

Vývoj pro WP Silverlight + XNA framework

lze kombinovat dohromady

jazyky .NET (C#, VB.NET...)

Portál App Hub create.msdn.com

vývojové nástroje zdarma registrace: 99 USD / rok studenti zdarma

Webové zdroje SmartMania.cz články rozcestník – můj blog tomasslavicek.cz

Podpora vývojářů soutěž o Lumia 800 msdn.cz/nokia soutěž s Mercedes-Benz hackathony

XNA Framework pro PC, Xbox 360, WP7, (Zune)

nadstavba DirectX, akcelerováno GPU 2D a 3D hry

XNA – vlastnosti herní smyčka

Content Pipeline operace s maticemi, přehrávání zvuků…

Herní smyčka sada připravených metod

Ukázka… vykreslení obrázku na pozadí práce s Content Pipeline

soubory ke stažení: bit.ly/xna_s1

Ukázka… běh na celou obrazovku orientace displeje událost Window.OrientationChanged

Ukázka… změna rozlišení (hardware scaler)

Další možnosti událost graphics.PreparingDeviceSettings

běh až 60 FPS (Mango novinka)

32bit barvy

Vykreslení raketky třída Sprite položky Position, Size, Texture

metody LoadContent, Draw

Vstup z displeje

1. myš = 1-dotykové ovládání

2. TouchPanel.TouchCollection (položky ID, State, Position)

3. gesta

Gesta na displeji TouchPanel.

EnabledGestures

Ukázka – pohyb… pohyb při držení „myši“

rychlost animace nezávislá na FPS ElapsedGameTime.TotalMilliseconds

Vykreslení bonusů na náhodné pozice, za náhodný čas pole typu List<Sprite>

kolize bod/obdélník, obdél./obdél.

Ukázka – AsteroidSprite… přilétávání asteroidů nové položky Hit / TotalHit, Speed

přetížená metoda Draw

Pohybový senzor osy X / Y, hodnoty -1 až 1 osa Z (gravitace), normálně -1

Pohybový senzor – ukázka… třída Accelerometer knihovna Devices.Sensors řízeno eventy…

zašuměný vstup

Nové Motion API využívá kompasu, gyroskopu

i akcelerometru

+ Yaw, Pitch, Roll

Vykreslování textu soubor SpriteFont načítání pomocí Content Pipeline

české znaky?

Fonty přibalené k XNA

Ukládání dat Isolated Storage

kolekce klíč/hodnota nebo ukládání souborů

Lokalizace hry soubory Resources.resx, Resources.cs-CZ.resx vyplnit hodnoty + modifikátor public

zvolit Neutral Language (Assembly Information)

upravit .csproj soubor tag <SupportedCultures>

Vstup z klávesnice třída Guide metoda BeginShowKeyboardInput

Nahrátí do Marketplace XAP soubor nastavení názvu, ikonek 64x64, 173x173 pix

+Marketplace: 99x99, 200x200 artwork 1000x800

Portace hry na PC/Xbox Create copy of project…

direktivy #if WINDOWS | XBOX #endif

#if WINDOWS_PHONE #endif

WP7 vs. PC/Xbox Reach profil DirectX 9, Shader Model 2.0 Textury – velikost mocniny 2, max. 2048 pix.

max. 65 535 primitiv / Draw() ...

HiDef Xbox 360 / PC „vlastnosti DirectX 10“, Shader Model 3.0+

WP7 a 3D grafika nelze psát vlastní shadery 5 připravených efektů BasicEffect DualTextureEffect

WP7 a 3D grafika 5 připravených efektů EnvironmentMapEffect

Dostupné engine SunBurn, delta, Helium… konvertor Unity XNA

fyzika: Box2D.XNA, Chipmunk, Farseer…

Tomáš SlavíčekMicrosoft Student Partner

mail@tomasslavicek.cz Twitter: tomasslavicek

Další zdroje SmartMania.cz web / fórum rozcestník – můj blog tomasslavicek.cz