Hands-on-lab Vyvíjíme hry v XNA pro WP7.5
-
Upload
tomas-slavicek -
Category
Technology
-
view
671 -
download
1
description
Transcript of Hands-on-lab Vyvíjíme hry v XNA pro WP7.5
Vyvíjíme hry v XNApro Windows Phone 7.5
Tomáš SlavíčekMicrosoft Student Partner
[email protected] Twitter: tomasslavicek
Agenda 1/3 Windows Phone a ČR možnosti zařízení prodej aplikací
základy XNA orientace displeje, změna rozlišení… vykreslování jednoduché animace
Agenda 2/3 multidotykové ovládání gesta pohybový senzor
vykreslování textu, lokalizace hry „multitasking“ zvuky a hudba
Agenda 3/3 vstup z klávesnice ukládání dat
portace pro PC/Xbox (rozdíly) vestavěné efekty, úvod do 3D
nahrání do Marketplace
…prostor pro dotazy
Windows Phone 7.5 nová mobilní platforma
Windows Phone 7.5 situace v ČR
Pevné hardwarové požadavky
displej 800x480 pix, min. 4 dotyky 1 GHz procesor, DirectX9 GPU
GPS, akcelerometr, kompas + gyroskop (5 Mpix fotoaparát), mobilní internet
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…)
Marketplace
Marketplace 52% zdarma 29 Kč průměrná cena cca 100 českých aplikací
možnost trial verzí
soutěž Vyvíjej a vyhraj! (do 15.12.) http://bit.ly/vyvijej
Vývoj Silverlight a/nebo XNA
jazyky .NET (C#, VB.NET...) Garbage Collector
Vývoj portál App Hub create.msdn.com vývojové nástroje zdarma
Další zdroje seriál SmartMania.cz články, video tutoriály
Konference MS Fest 26.-27. listopadu 2011, Praha 38 přednášek, hands-on-laby http://ms-fest.cz
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í zvuku…
Herní smyčka sada připravených metod
Ukázka… vykreslení obrázku práce s Content Pipeline
ke stažení: bit.ly/obrazky
Ukázka 2… běh na celou obrazovku orientace displeje událost Window.OrientationChanged
Ukázka 3… změna rozlišení (hardware scaler)
Ukázka 4… běh až 60 FPS (Mango novinka) událost graphics.PreparingDeviceSettings
Vykreslení raketky třída Sprite položky Position, Size, Texture
metody LoadContent, Draw
Vstup z displeje jednodotykové – jako myš
multi-touch TouchPanel gesta
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 kolize bod/obdélník, obdél./obdél.
nová metoda Intersects
Více dotyků TouchPanel TouchCollection
položky ID, State, Position
Ukázka – AsteroidSprite… přilétávání asteroidů nové položky Life/MaxLife, Speed
přetížená metoda Draw
Jednoduché animace objekt TimedSprite nové položky MaxTime/Timeout
přetížená metoda Draw
Gesta na displeji TouchPanel.
EnabledGestures
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
Lokalizace hry soubory Resources.resx, Resources.cs-CZ.resx vyplnit hodnoty + modifikátor public
zvolit Neutral Language (Assembly Information)
upravit .csproj soubor tag <SupportedCultures>
Životní cyklus aplikace na WP
multitasking? Fast App Switching Background Agents
Fast App Switching stavy Dormant, Tombstoned
Přehrávání zvuků SoundEffect – „ruchy“
MediaPlayer – hudba na pozadí nutné kontrolovat, zda už nehraje
Vstup z klávesnice třída Guide metoda BeginShowKeyboardInput
Ukládání dat Isolated Storage
kolekce klíč/hodnota nebo ukládání souborů
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 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é 3D engine Balder, Nova4Phone, delta, Helium,
SunBurn…
fyzika: Box2D.XNA, Chipmunk, Farseer…
Tomáš SlavíčekMicrosoft Student Partner
[email protected] Twitter: tomasslavicek
Další zdroje SmartMania.cz web / fórum český MSDN blog vbnet.cz