Windows Phone 7 XNA Game development

18
Bartosz Szcząchor Windows Phone 7 XNA Game development

description

Windows Phone 7 XNA Game development. Bartosz Szcząchor . Agenda. Prezentacja systemu Windows Phone 7 Słowo o WP7 na tle całego .NET Podstawy programowania WP7 na XNA Framework Wyświetlanie tekstur Dostęp do multimediów telefonu, w tym również do kamery/aparatu Sprzęt: - PowerPoint PPT Presentation

Transcript of Windows Phone 7 XNA Game development

Page 1: Windows Phone 7 XNA Game development

Bartosz Szcząchor

Windows Phone 7XNA Game development

Page 2: Windows Phone 7 XNA Game development

Prezentacja systemu Windows Phone 7Słowo o WP7 na tle całego .NETPodstawy programowania WP7 na XNA FrameworkWyświetlanie teksturDostęp do multimediów telefonu, w tym również do kamery/aparatuSprzęt:

Obsługa ekranu dotykowegoAkcelerometrGPS, Geolokalizacja

Agenda

Page 3: Windows Phone 7 XNA Game development

KafelkiŚwietna integracja kontaktów:

Facebook / MySpacePocztaTelefon

KalendarzInternetFind My PhoneOfficeFilmy, Muzyka, Telewizja

Windows Phone 7 - Soft

Page 4: Windows Phone 7 XNA Game development

Przyciski: Back, Start, Search, Dźwięk (x2), Aparat, WyłączanieEkran: (WVGA) 480x800 lub (320x480), dotykowy (pojemnościowy, <=4 pkt dotyku), Moc obliczeniowa: procesor 1GHz ARMv7 lub lepszy, GPU zgodny z DirectX9 (11?), 256MB RAM, co najmniej 8GB pamięci flashInne: Wifi (b,g,n), Aparat <=5 Mpix z lampą LED, GPS (A-GPS), Radio FM, Akcelerometr (z GPS), czujnik światła, czujnik zbliżeniowy

Windows Phone 7 - Hard

Page 5: Windows Phone 7 XNA Game development

WP7, a .NET – Silverlight

Bartek
Na początek chciałbym wyjaśnić, czym jest silverlight na tle .net. Najlepiej zobrazować to w sposób diagramu. Na tym tutaj widzimy strukturę .NET 4.0. Poniżej CLR na dole znajduje się system operacyjny i sprzęt. Silverlight umieściłbym tu, z jednej strony powinien być na równi z WPF, ponieważ te dwie technologie powstawały równolegle, jednak SL jest nieco wyżej, bo w odróżnieniu od WPF nie wykonuje się bezpośrednio na core .neta, tylko jeszcze "po drodze" jest zagnieżdżony w przeglądarce. Czyli tak jakby siedzi na ASP.NET (chociaż można go zamieścić również w html, czy php). W telefonie WP7 wygląda to podobnie.
Page 6: Windows Phone 7 XNA Game development

WP7, a .NET - XNA

Bartek
Na poniższym obrazku widzimy relację Visual Studio, .NET, Windows, XBox, WP7 z technologią XNA. XNA jest frameworkiem działającym na frameworku .NET, ale jest coś, czego nie widać na diagramie: XNA ma dostęp do DirectX, czyli niemal po linii prostej dostęp do sprzętu obsługującego grafikę. To ze strony działania programu. Z punktu widzenia developera, XNA Game Studio to SDK, biblioteki i wtyczka do Visual Studio, które pomagają tworzyć gry. WP7 umieściłbym tu, gdzie znajduje się zune, czy XBOX.
Page 7: Windows Phone 7 XNA Game development

XNA ? A co to?

Bartek
Tu możemy się bliżej przyjrzeć jak wygląda XNA Framework. Poniżej platformy jest jak zwykle tylko system operacyjny i sprzęt, a od dołu mamy DirectX, wyżej CoreFramework, czyli biblioteki ułatwiające korzystanie z grafiki, obsługę audio, interfejsu itp., wyżej extended framework, czyli app model, odpowiedzialny za strukturę aplikacji i kodu, a dopiero na górze mamy content, code, components, czyli klocki, które tworzymy sami, a z całości układamy grę.
Page 8: Windows Phone 7 XNA Game development

XNA – tworzenie projektu

Bartek
- nie ma tak jak kidyś osobneg działu Windows Mobile i tam wypisane możliwości, - Oddzielnego silverlighta dla WP7, oddzielnego ze względu na dużo różniące się kontrolki.- XNA, tu mamy dodatkowe projekty, tak samo jak dla XBox 360, albo Windows, po prostu WP7 game, albo library
Page 9: Windows Phone 7 XNA Game development

XNA – jak wygląda czysty projekt?

Bartek
Tutaj widizmy co się utworzyło w solucji VS. mamy windows phone game 1, gdzie są znane properties, references, oraz program.cs Dodatkowo mamy kilka png oraz game1.cs. png służą jako ikonki, tło itp które są potrzebne urządzeniu, ale na marketplace takie rzeczy i tak możemy sobie ustawić jeszcze inne i nie muszą być dołączone koniecznie do projektu. Generalnie obrazy, czcionki, pliki xml i pliki efektów (?) powinniśmy umieszczać w "projekcie" wpgame1content. jest on zawarty w content references w projekcie wpg1.
Page 10: Windows Phone 7 XNA Game development

Omówienie podstawowego projektu w VS2010

Konkrety

Bartek
Page 11: Windows Phone 7 XNA Game development

BackBuffer:- ostatni bufor obrazu, zanim zostanie on wyświetlony- możemy sprawdzić rozdzielczość i wymiary ekranu

urządzenia- możemy sprawdzić format RGB którego używa

urządzenie

Tekstury

Bartek
- Co to jest backbuffer?To jest bufor całego ekranu, do którego najpierw piszemy, a potem go wyświetlamy.
Page 12: Windows Phone 7 XNA Game development

1. Wyświetlanie tekstur i tekstu (+ render target i backbuffer)2. Ładowanie obrazu z biblioteki telefonu oraz robienie zdjęcia3. Obsługa ekranu dotykowego.

1. Gesty2. Low Level

4. Akcelerometr 5. Geolokacja

Dema

Bartek
Page 13: Windows Phone 7 XNA Game development

Akcelerometr

Page 14: Windows Phone 7 XNA Game development

1. GPSa. Zalety: dokładność, dostępność wszędzieb. Wady: długo startuje („łapie fixa”), używa dużo energii (w

porównaniu z AGPS)2. AGPS (Assisted GPS)

a. Zalety: szybko startuje („łapie fixa”), używa mało energiib. Wady: dokładność mocno zależy od liczby stacji GSM – słabe poza

miastem, operator GSM może żądać opłaty za korzystanie z informacji o lokalizacji. Chyba

Geolokacja

Page 15: Windows Phone 7 XNA Game development

- Nie można używać funkcji natywnych - Brak multitaskingu, tylko PushNotifications - Brak socketów w Silverlight Mobile (prawdopodobnie)- Brak wsparcia bazodanowego na telefonie, tego typu

operacje należy przenieść do chmury

Kilka informacji na koniec

Bartek
– one istnieją, ale są dostępne dla producenta telefonu. Być może można ich używać w trybie debug, ale nie można takich aplikacji umieścić na marketplace.
Bartek
Czyli system dzięki któremu aplikacja może otrzymywać informacje i aktualizacje programu od webService'ów.
Bartek
NIe wiem dlaczego
Bartek
Tłumaczy się to tym, że telefon ma ograniczone zasoby obliczeniowe jak i pamięciowe, więc tego typu operacje powinny być podłączone do chmury. Pozwala to również na oddzielenie logiki biznesowej od UI.
Page 16: Windows Phone 7 XNA Game development

Co powiedziałem:- używanie XNA do pisania CZEGOŚ na WP7 - podstawy- używanie urządzeń z .NET na WP7 (tych głównych)- trochę ciekawostek nt. XNA i WP7

Czego nie powiedziałem:- używaniu XNA do pisania Gier (przez duże G), to co

powiedziałem to tylko taka naklejka mówiąca o używaniu WP7, naklejona na kombajnie XNA Framework

- grafika 3D- Xbox Live- Serwisy Web

Podsumowanie

Page 17: Windows Phone 7 XNA Game development

„Programming Windows Phone 7”, Charles Petzold, MSPress, Free e-bok and code samples.

Bibliografia

Page 18: Windows Phone 7 XNA Game development

Dziękuję za uwagę, Bartosz Szczą[email protected]

Pytania