WP XNA 5: Wygodne zarządzanie dźwiękiem (SoundProvider)

Gry w odróżnieniu do aplikacji „biznesowych” często wydają z siebie dźwięki i muzykę. W wytycznych certyfikacji na Windows Phone Marketplace znajdziemy zapisy, które regulują co w kwestii dźwięków jest wymagane z naszej strony. Poniżej przedstawię przydatną klasę SoundProvider, która uprości nam zarządzanie dźwiękiem.

Ten wpis jest częścią cyklu o moich przygodach w tworzeniu gier XNA dla Windows Phone.

Czytaj dalej

WP XNA 4: Jak zapanować nad teksturami (Texture2D, Vector2, Rectangle)

Gdy tworzyłem swoją pierwszą grę (tzn. przepisywałem z tutoriala) nauczyłem się, że:

  • Texture2D – reprezentuje dowolną grafikę, teksturę
  • Vector2 – punkt na ekranie, np. aktualna pozycja gracza/wroga, początkowa pozycja gracza/wroga, pozycja tektury przycisku, pozycja wyświetlania się wyników
  • Rectangle – przydaje się do wykrywania wszelkich kolizji np.: gracz vs wróg, pocisk vs gracz/wróg, palec gracza vs przycisk

Te 3 klasy + metody Update i Draw to w sumie core każdej gry (gry 2D oczywiście).

Ten wpis jest częścią cyklu o moich przygodach w tworzeniu gier XNA dla Windows Phone. Czytaj dalej

WP XNA 3: Wartości początkowe (Defaults)

Ten wpis jest częścią cyklu o moich przygodach w tworzeniu gier XNA dla Windows Phone.

W grach często mamy sytuację gdzie gracz wielokrotnie rozpoczyna nową grę lub wczytuje jakąś planszę. Wówczas przydaje się miejsce, w którym przechowujemy wartości początkowe (np. bazowa ilość żyć, podstawowa prędkość itd.).

Ja stosują statyczną klasę, którą nazywam Default lub Defaults (nazwa dowolna, jak komu pasuje), gdzie umieszczam statyczne pola z wartościami. Czytaj dalej

WP XNA 2: Ustawienia (Settings)

Ten wpis jest częścią cyklu o moich przygodach w tworzeniu gier XNA dla Windows Phone.

Ustawienia gry takie jak:

  • Efekty dźwiękowe on/off
  • Poziom głośności muzyki
  • Wibracja on/off
  • Wybrany język

to coś co każda (a jeśli nie to większość) gier powinna posiadać. Ustawienia mają charakter globalny dla aplikacji więc powinno się do nich łatwo dobierać i dobrze jeśli będą się same zapisywać po zmianach. Czytaj dalej

WP XNA 1: Zapisywanie stanu gry/aplikacji (IsolatedStorageSettings)

Ten wpis jest częścią cyklu o moich przygodach w tworzeniu gier XNA dla Windows Phone.

Nie ma nic bardziej frustrującego dla zapalonego gracza, gdy po 2 godzinach grania mierzy się z ostatnim bossem, już prawie go zabija… gdy nagle… dzwoni mama! Gra zostaje przerwana i cały postęp gry leci w kosmos…

Wiem! Ktoś powie, że w Mango mamy Fast Application Switching (FAS) i stan aplikacji jest  w pamięci i gra zostanie automatycznie wznowiona. Tak, ale jeśli nasz przywołany gracz po rozmowie z mamą nie wróci do gry i będzie chciał ją dokończyć jutro, mamy niemal pewność, że naszej gry nie będzie już w pamięci i mamy problem.

Z pomocą przychodzi klasa IsolatedStorageSetting. Czytaj dalej

WP XNA 0: Wstęp

Ostatnio dużo czasu spędzam przy pisaniu małych, prostych gier i aplikacji na Windows Phone. W sumie to nie oszukujmy się.. akcja Geek Club na CodeGuru.pl mocno się do tego przyczyniła.

W związku z tym, że nabyłem nieco doświadczenia w XNA postanowiłem podzielić się kawałkami kodu, które mnie ułatwiają życie na codzień, a i może komuś się przydadzą.

Zapraszam na mój mały cykl:

Zachęcam do komentowania. Wszelkie uwagi, pytania, wasze rozwiązania czy znalezione u mnie błędy bardzo mile widziane 🙂