+ All Categories
Home > Technology > Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

Date post: 26-Jun-2015
Category:
Upload: tomas-slavicek
View: 669 times
Download: 1 times
Share this document with a friend
Description:
Prezentace z hands-on-labů 8. a 9.11.2011 v Brně a v Hradci Králové, http://tomasslavicek.cz
Popular Tags:
48
Vyvíjíme hry v XNA pro Windows Phone 7.5 Tomáš Slavíček Microsoft Student Partner [email protected] Twitter: tomasslavicek
Transcript
Page 1: 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

Page 2: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

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

Page 3: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

Agenda 2/3 multidotykové ovládání gesta pohybový senzor

vykreslování textu, lokalizace hry „multitasking“ zvuky a hudba

Page 4: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

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

Page 5: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

Windows Phone 7.5 nová mobilní platforma

Page 6: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

Windows Phone 7.5 situace v ČR

Page 7: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

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

Page 8: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

Hry na Windows Phone ukázka…

Page 9: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

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

Page 10: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

Marketplace

Page 11: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

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

Page 12: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

Vývoj Silverlight a/nebo XNA

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

Page 13: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

Vývoj portál App Hub create.msdn.com vývojové nástroje zdarma

Page 14: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

Další zdroje seriál SmartMania.cz články, video tutoriály

Page 15: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

Konference MS Fest 26.-27. listopadu 2011, Praha 38 přednášek, hands-on-laby http://ms-fest.cz

Page 16: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

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

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

Page 17: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

XNA – vlastnosti herní smyčka

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

Page 18: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

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

Page 19: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

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

ke stažení: bit.ly/obrazky

Page 20: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

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

Page 21: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

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

Page 22: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

Ukázka 4… běh až 60 FPS (Mango novinka) událost graphics.PreparingDeviceSettings

Page 23: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

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

metody LoadContent, Draw

Page 24: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

Vstup z displeje jednodotykové – jako myš

multi-touch TouchPanel gesta

Page 25: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

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

rychlost animace nezávislá na FPS ElapsedGameTime.TotalMilliseconds

Page 26: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

Vykreslení bonusů na náhodné pozice, za náhodný čas kolize bod/obdélník, obdél./obdél.

nová metoda Intersects

Page 27: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

Více dotyků TouchPanel TouchCollection

položky ID, State, Position

Page 28: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

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

přetížená metoda Draw

Page 29: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

Jednoduché animace objekt TimedSprite nové položky MaxTime/Timeout

přetížená metoda Draw

Page 30: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

Gesta na displeji TouchPanel.

EnabledGestures

Page 31: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

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

Page 32: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

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

zašuměný vstup

Page 33: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

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

i akcelerometru

+ Yaw, Pitch, Roll

Page 34: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

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

české znaky?

Page 35: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

Fonty přibalené k XNA

Page 36: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

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

zvolit Neutral Language (Assembly Information)

upravit .csproj soubor tag <SupportedCultures>

Page 37: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

Životní cyklus aplikace na WP

multitasking? Fast App Switching Background Agents

Page 38: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

Fast App Switching stavy Dormant, Tombstoned

Page 39: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

Přehrávání zvuků SoundEffect – „ruchy“

MediaPlayer – hudba na pozadí nutné kontrolovat, zda už nehraje

Page 40: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

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

Page 41: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

Ukládání dat Isolated Storage

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

Page 42: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

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

+Marketplace: 99x99, 200x200 artwork 1000x800

Page 43: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

Portace hry na PC/Xbox Create copy of project…

direktivy #if WINDOWS | XBOX #endif

#if WINDOWS_PHONE #endif

Page 44: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

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+

Page 45: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

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

Page 46: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

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

Page 47: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

Dostupné 3D engine Balder, Nova4Phone, delta, Helium,

SunBurn…

fyzika: Box2D.XNA, Chipmunk, Farseer…

Page 48: Hands-on-lab Vyvíjíme hry v XNA pro WP7.5

Tomáš SlavíčekMicrosoft Student Partner

[email protected] Twitter: tomasslavicek

Další zdroje SmartMania.cz web / fórum český MSDN blog vbnet.cz


Recommended