A következő címkéjű bejegyzések mutatása: c#. Összes bejegyzés megjelenítése
A következő címkéjű bejegyzések mutatása: c#. Összes bejegyzés megjelenítése

2012. január 7., szombat

Állapotok

A cím kicsit félrevezető lehet, nem hazánk gazdasági állapotáról szeretnék most írni, bár az is megérdemelne pár keresetlen szót, hanem a játékok állapotairól. Kicsit rég volt bejegyzés, ezt most próbálom pótolni.

Aki már foglalkozott játékok programozásával, előbb-utóbb eljutott oda, hogy a játék állapotait jó lenne valahogy egységesen kezelni. Miről is van szó? Egy egyszerű játék állapottere kb így néz ki (nem fogok UML state chartot rajzolni, csak powerpointban dobok össze valamit):
Körülbelül így néz ki. A megvalósítás sem sokkal bonyolultabb, egyszerűen a játék komponenseit egységbe kell zárni, esetemben ezek a Screen osztályban valósulnak meg. Ha szétválogattuk a komponenseket és mindegyik komponens a saját Screen osztályába helyeztünk, akkor már nincs más dolgunk, mint az állapotkezelést megvalósítsuk egy ScreenManager osztályban.

Akit érdekel a Microsoft is csinált sample-t, amely ezen a linken érhető el.
Működés közben így néz ki

2011. december 28., szerda

Coding Windows Phone 7 Flashlight

Komolyan mondom, több órányi szenvedés után életem legundorítóbb megoldását találtam meg a neten. Az alapprobléma, hogy ugye pár WP7-es modellen van egy kis LED, amely a vakut hivatott helyettesíteni. Ennek segítségével jobb fotókat készíthetünk. Azonban ez a hardveres feature nem szerves része a hivatalos WP7-es specifikációnak, ennek köszönhetően nem támogatja a keretrendszer.

Azonban "trükkök százaival" van lehetőségünk arra, hogy bekapcsoljuk ezt a funkciót. Ez pedig nem más mint a PhotoCamera osztály. Ezt példányosítva a Flashmode propertyjét átállítjuk On-ra és egyszerűen egy végtelen ciklusban meghívjuk a PhotoCamera Focus() metódusát. Az eredmény a telefon elkezd fókuszálni és mivel a flash be van kapcsolva, szépen be is kapcsolja a LED-et.

Kérdés az, hogy ezzel az eljárással mennyire csökkentjük a fókuszáló optika mechanikájának az élettartamát. Erre tényleg nincs értelmesebb megoldás?!