+ All Categories
Home > Education > Programování her v XNA pro Windows Phone 7

Programování her v XNA pro Windows Phone 7

Date post: 27-Dec-2014
Category:
Upload: tomas-slavicek
View: 2,511 times
Download: 3 times
Share this document with a friend
Description:
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
37
Programování her v XNA pro Windows Phone 7 Tomáš Slavíček tomasslavicek.cz Microsoft Student Partner Twitter: @tomasslavicek
Transcript
Page 1: Programování her v XNA pro Windows Phone 7

Programování her v XNA pro Windows Phone 7Tomáš Slavíčektomasslavicek.cz

Microsoft Student Partner Twitter: @tomasslavicek

Page 2: Programování her v XNA pro Windows Phone 7

AgendaWindows Phone 7Vlastnosti XNAVykreslení pozadí, hráčeOvládání dotyky, akcelerometremSpecifika XNA na WP7Ukázka her, dostupných engine

Page 3: Programování her v XNA pro Windows Phone 7

AgendaWindows Phone 7Vlastnosti XNAVykreslení pozadí, hráčeOvládání dotyky, akcelerometremSpecifika XNA na WP7Ukázka her, dostupných engine

Page 4: Programování her v XNA pro Windows Phone 7

Windows Phone 7Nástupce Windows Mobile

Page 5: Programování her v XNA pro Windows Phone 7

Windows Phone 7Pevné hardwarové požadavky

displej 800x480pix, min. 4 dotyky1 GHz procesor, DirectX9 GPU256 MB RAMGPS, 5Mpix foťák, akcelerometr...tlačítka

Page 6: Programování her v XNA pro Windows Phone 7

Windows Phone 7Grafické rozhraní Metro (ukázka)

Page 7: Programování her v XNA pro Windows Phone 7

Windows Phone 7Distribuce aplikací

Centralizovaný marketplaceČR snad již brzy

Page 8: Programování her v XNA pro Windows Phone 7

Windows Phone 7Budoucnost systému

Mango update (WP 7.5)Multitasking, přístup k senzorům, nové APITelefony Nokia

Page 9: Programování her v XNA pro Windows Phone 7

Windows Phone 7Vývoj

Silverlight nebo XNAjazyky .NET (C#, VB.NET...)Garbage Collector

Page 10: Programování her v XNA pro Windows Phone 7

Windows Phone 7Vývoj

Portál App HubVývojové nástroje zdarma

Page 11: Programování her v XNA pro Windows Phone 7

AgendaWindows Phone 7Vlastnosti XNAVykreslení pozadí, hráčeOvládání dotyky, akcelerometremSpecifika XNA na WP7Ukázka her, dostupných engine

Page 12: Programování her v XNA pro Windows Phone 7

XNAFramework pro vývoj her

PC, Xbox360, WP7, (Zune)

nadstavba DirectX, akcelerované grafikouherní smyčkaContent Pipelineoperace s maticemi, přehrávání hudby...

Page 13: Programování her v XNA pro Windows Phone 7

XNAHerní smyčka

Page 14: Programování her v XNA pro Windows Phone 7

XNAPraktická ukázka 1

Vykreslení obrázku na pozadí

Page 15: Programování her v XNA pro Windows Phone 7

XNA na WP7Rozlišení obrazovky

graphics.PreferredBackBufferWidth / Heightzobrazení na výšku / na šířku

hardware scaler – ušetření výkonu600x360 pix = 56% oproti 800x480

Page 16: Programování her v XNA pro Windows Phone 7

XNA na WP7Orientace displeje (ukázka)

graphics.SupportedOrientations = ...this.Window.OrientationChanged += new ...

GraphicsDevice.PresentationParameters.DisplayOrientation

graphics.ApplyChanges();

Page 17: Programování her v XNA pro Windows Phone 7

XNANaše hra – had

Page 18: Programování her v XNA pro Windows Phone 7

XNANaše hra – had

Page 19: Programování her v XNA pro Windows Phone 7

XNAVykreslování více objektů

Napíšeme si třídu Sprite (ukázka)

Další možnost – herní komponentyGameComponent, DrawableGameComponent

Page 20: Programování her v XNA pro Windows Phone 7

XNAPohyb hada – metoda Update() (ukázka)

Náš pohyb: rychlost, úhel

gameTime.ElapsedGameTime.TotalMilliseconds

počet ms od posledního snímkurychlost nezávisí na FPS

Page 21: Programování her v XNA pro Windows Phone 7

AgendaWindows Phone 7Vlastnosti XNAVykreslení pozadí, hráčeOvládání dotyky, akcelerometremSpecifika XNA na WP7Ukázka her, dostupných engine

Page 22: Programování her v XNA pro Windows Phone 7

XNA na WP7Zpracování vstupu

WP7dotykový displej, gestaakcelerometrtlačítko zpětMango: kompas, gyroskop, fotoaparát

NE klávesnice, joystick...

Page 23: Programování her v XNA pro Windows Phone 7

XNA na WP7Dotyky na displeji

TouchCollection tc = TouchPanel.GetState();foreach (TouchLocation t in tc)

IDState (Pressed, Moved, Released, Invalid)Position

ID unikátníaž 4 dotyky najednou

Page 24: Programování her v XNA pro Windows Phone 7

XNA na WP7Gesta na displeji

Page 25: Programování her v XNA pro Windows Phone 7

XNA na WP7Gesta na displeji

TouchPanel.EnabledGestures = ...

while (TouchPanel.IsGestureAvailable)var gesture = TouchPanel.ReadGesture();

if (gesture.GestureType == ... )

Page 26: Programování her v XNA pro Windows Phone 7

XNA na WP7Akcelerometr

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

knihovna Microsoft.Devices.Sensorszjišťování řízeno eventy!

accel.ReadingChanged += new ...

hodnoty nezávisí na orientaci zařízení na výšku / šířku

Page 27: Programování her v XNA pro Windows Phone 7

XNA na WP7Odlišení platformy (ukázka)

direktivy#if WINDOWS | XBOX #endif#if WINDOWS_PHONE #endif

Create Copy of Project for...

Page 28: Programování her v XNA pro Windows Phone 7

AgendaWindows Phone 7Vlastnosti XNAVykreslení pozadí, hráčeOvládání dotyky, akcelerometremSpecifika XNA na WP7Ukázka her, dostupných engine

Page 29: Programování her v XNA pro Windows Phone 7

XNA na WP7Profily

ReachDirectX 9, Shader Model 2.0Textury – nutně velikost mocniny 2, max. 2048 pix.max. 65 535 primitiv / Draw() ...

HiDefXbox 360 / PCDirectX 10, Shader Model 3.0+

Page 30: Programování her v XNA pro Windows Phone 7

XNA na WP7Efekty

Pro WP7 nelze psát vlastní shadery v HLSLVestavěné efekty

BasicEffectDualTextureEffectAlphaTestEffectEnvironmentMapEffectSkinnedEffect

Page 31: Programování her v XNA pro Windows Phone 7

XNA na WP7DualTextureEffect

Page 32: Programování her v XNA pro Windows Phone 7

XNA na WP7EnvironmentMapEffect

Page 33: Programování her v XNA pro Windows Phone 7

AgendaWindows Phone 7Vlastnosti XNAVykreslení pozadí, hráčeOvládání dotyky, akcelerometremSpecifika XNA na WP7Ukázka her, dostupných engine

Page 34: Programování her v XNA pro Windows Phone 7

XNA na WP7Dostupné fyzikální engine

Box2D.XNAChipmunk XNAFarseer

všechny zdarma

Page 35: Programování her v XNA pro Windows Phone 7

XNA na WP7Další zdroje

Bohaté ukázkové kódy na App HubHotové engine

3D: Balder, SunBurn...

Page 36: Programování her v XNA pro Windows Phone 7

XNA na WP7Ukázky

Hotové hryMůj engine

Page 37: Programování her v XNA pro Windows Phone 7

© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Tomáš Slavíček http://tomasslavicek.czTwitter: @[email protected]

http://netstudent.cz

http://create.msdn.com

Zdroj obrázků: MSDN blogs, http://jdem.cz/ma4j3, http://jdem.cz/ma4k9


Recommended