Na této přednášce si společně projdeme základní principy XNA frameworku, naprogramujeme si jednoduchou hru a upravíme si ji pro běh na telefonech se systémem Windows Phone 7. Projdeme si zpracování dotyků a gest na displeji, ovládání pohybovým senzorem a další specifické vlastnosti platformy.
Přednáška se konala v budově MFF UK na Malostranském náměstí v posluchárně S4 ve 3. poschodí
Přednášející: Tomáš Slavíček
7. Windows Phone 7 Distribuce aplikací Centralizovaný marketplace ČR snad již brzy
8. Windows Phone 7 Budoucnost systému Mango update (WP 7.5) Multitasking, přístup k senzorům, nové API Telefony Nokia
9. Windows Phone 7 Vývoj Silverlight nebo XNA jazyky .NET (C#, VB.NET...) GarbageCollector
10. Windows Phone 7 Vývoj Portál App Hub Vývojové nástroje zdarma
11. Agenda Windows Phone 7 Vlastnosti XNA Vykreslení pozadí, hráče Ovládání dotyky, akcelerometrem Specifika XNA na WP7 Ukázka her, dostupných engine
12. XNA Framework pro vývoj her PC, Xbox360, WP7, (Zune) nadstavba DirectX, akcelerované grafikou herní smyčka ContentPipeline operace s maticemi, přehrávání hudby...
15. XNA na WP7 Rozlišení obrazovky graphics.PreferredBackBufferWidth / Height zobrazení na výšku / na šířku hardware scaler – ušetření výkonu 600x360 pix = 56% oproti 800x480
16. XNA na WP7 Orientace displeje (ukázka) graphics.SupportedOrientations = ... this.Window.OrientationChanged += new ... GraphicsDevice.PresentationParameters.DisplayOrientation graphics.ApplyChanges();
19. XNA Vykreslování více objektů Napíšeme si třídu Sprite (ukázka) Další možnost – herní komponenty GameComponent, DrawableGameComponent
20. XNA Pohyb hada – metoda Update() (ukázka) Náš pohyb: rychlost, úhel gameTime.ElapsedGameTime.TotalMilliseconds počet ms od posledního snímku rychlost nezávisí na FPS
21. Agenda Windows Phone 7 Vlastnosti XNA Vykreslení pozadí, hráče Ovládání dotyky, akcelerometrem Specifika XNA na WP7 Ukázka her, dostupných engine
22. XNA na WP7 Zpracování vstupu WP7 dotykový displej, gesta akcelerometr tlačítko zpět Mango: kompas, gyroskop, fotoaparát NE klávesnice, joystick...
23. XNA na WP7 Dotyky na displeji TouchCollectiontc = TouchPanel.GetState(); foreach (TouchLocation t in tc) ID State (Pressed, Moved, Released, Invalid) Position ID unikátní až 4 dotyky najednou
25. XNA na WP7 Gesta na displeji TouchPanel.EnabledGestures = ... while (TouchPanel.IsGestureAvailable) var gesture = TouchPanel.ReadGesture(); if (gesture.GestureType == ... )
26. XNA na WP7 Akcelerometr osy X / Y, hodnoty -1 až 1 osa Z (gravitace), normálně -1 knihovna Microsoft.Devices.Sensors zjišťování řízeno eventy! accel.ReadingChanged += new ... hodnoty nezávisí na orientaci zařízení na výšku / šířku
27. XNA na WP7 Odlišení platformy (ukázka) direktivy #if WINDOWS | XBOX #endif #if WINDOWS_PHONE #endif Create Copy of Project for...
28. Agenda Windows Phone 7 Vlastnosti XNA Vykreslení pozadí, hráče Ovládání dotyky, akcelerometrem Specifika XNA na WP7 Ukázka her, dostupných engine
29. XNA na WP7 Profily Reach DirectX 9, Shader Model 2.0 Textury – nutně velikost mocniny 2, max. 2048 pix. max. 65 535 primitiv / Draw() ... HiDef Xbox360 / PC DirectX 10, Shader Model 3.0+
30. XNA na WP7 Efekty Pro WP7 nelze psát vlastní shadery v HLSL Vestavěné efekty BasicEffect DualTextureEffect AlphaTestEffect EnvironmentMapEffect SkinnedEffect