Programowanie gier dla Androida

Programowanie gier dla Androida 33: Box 2D i 2D Scena Część 3

42 filmy

238 minuty

Jak powiedziałem, aby załadować tekstury wygodnie możemy skorzystać z assetManager. Jest to klasa, która ładuje dużo zasobów na raz i daj nam czym się je z kilku. Możemy zapisać go w jednym repozytorium, nie mając do wystąpienia nowych tekstur cały czas. Zarządca będzie zapisać grę, ponieważ wszystkie ekrany mają dostęp do gry za pomocą zmiennej. Tworzę assetManager,

a potem dokonać getter. Dzięki temu mogę otworzyć Manager z game.getManager (). Zrobię to obciążenie wszystkie obrazy mamy tutaj zobaczymy jak załadować muzykę wtedy. Aby to zrobić, zrobię w metodzie Create (), która tworzy instancję nowego menedżera. A następnie załadować zasobów użyjemy metody nazywanej load (). Z obciążeniem (), która jest szczególna metoda, możemy powiedzieć, jako parametr nazwę zasobu będzie ładunek,

a następnie trzeba przekazać parametr typu Class ... klasy? Tak, bo trzeba powiedzieć, jakiego typu jest to, co pobieramy, jeśli jest to tekstury, jeden TextureRegion, Sound ... Z tego assetManager może określić, który układ ładowania za pomocą tego zasobu, ale trzeba przyznać, ze Texture.class, na przykład. Muszę powtórzyć to z każdego z zasobów, jak może być Overfloor, szaszłyki i odtwarzacz. I załadować wszystkim musimy zadzwonić

do FinishLoading (). Dzięki temu będzie ona pobierana synchronicznie: zatrzymanie gry podczas ładowania zasobów. Kiedy stwardnienie Ekrany widzimy, że możemy dokonać za pomocą ekranu ładowania sprawne asynchronicznych obciążeń, dzięki czemu możemy zobaczyć pasek postępu i zobaczyć jak to idzie Nie denerwować odtwarzacza jeśli będzie to trwać długo. Aby skorzystać z tej faktury, wszystko, co pozostaje, to instancję mój fakturę przez game.getManager ()

aby uzyskać dostęp do Manager, a następnie uwagę: uzyskać. Dla zasobu, gdyż może się okazać, player.png. Jak powiedziałem to był rodzaj tekstury, wiesz, że to struktura, a jak utrzymać go w zmiennej typu Texture wie również, musi wrócić jak również. Jedyne co pozostaje, to zdać ten playerTexture, a już dodałem do stołu montażowego. Jeśli teraz próbuję reprezentacji na ekranie, jest doskonale umieszczone. Ubezpieczenie? Ani trochę. Pokażę wam jedno

które muszą być brane pod uwagę, a to jest, gdy robię draw (), Box2D i Scene2D mają swoje korzenie w różnych pozycjach. Rozmawiałem z wami w Scene2D pochodzenie z aktorów jest w lewym dolnym rogu, ale Box2D jest w centrum miasta, dzięki czemu zawsze będziemy pozycji coś Scene2D ekranu przez Box2D musimy wziąć pod uwagę właśnie offset. Co zrobię, że tu, kiedy ustawić pozycję,

Przed użyciem parametru konwersji, będę odjąć pół metra, aby umieścić go na lewym boku. I tym samym pionie. Tak teraz, gdy reprezentuje idziesz tam rysować. I to jest lepiej, bo jeśli teraz staramy się wyciągnąć w pozycji (0,5, 0,5), to automatycznie pojawia się w części Pełna dole ekranu, ponieważ odejmowanie jest dobrze zrobione. Jedyną rzeczą do zrobienia jest zaktualizowanie świecie rzeczywistym. Włożę gdzie to się stało.

I właśnie w render () przed wywołaniem akt (), aby dać czas ... czekać. W rzeczywistości ... Wezmę go później do tego aktu () można uaktualnić sił. Wśród akt () i Draw () wywoła world.step (), aby go zaktualizować. Pamiętaj: Delta, 6, 2; parametry, które widzieliśmy wcześniej. Dzięki temu jesteśmy w stanie zobaczyć, jak to się stało. Zwracać uwagę na to. Uy, do zobaczenia później. Kiedy aktualizujesz świat już uwzględnia grawitacji.

I jak grawitacja zmienia swoją pozycję, aktualizując aktora zawsze będzie czerpać z tego, co mówisz box2d, które muszą być wyciągnięte. Ważne jest, aby zrobić w tej kolejności. Użyjemy Act () pierwsza wprowadziła siły; po etapie (), aby zastosować te siły i aktualizacji świat i dotkliwości; i wreszcie wyciągnąć (), aby wyciągnąć go z parametrami, które zostały obliczone. Mówiłem ci draw () powinna być ostatnią w celu zapobieżenia czego nie zwrócić

co ma model fizyczny, ponieważ może to powodować problemy z rozgrywki. Mając to już zrobili. Jeśli mogę teraz, przed rozpoczęciem następny odcinek będzie tworzenie innych podmiotów utworzonych z dokładnie tego samego kodu, ale tak nie będzie to samo.

Aby znaleźć nowe kursy, zapisz. Nie będzie spam, obiecał :)

o autorze

foto de jotajotavm
José Javier Villena

Biografia: Analityk-Programmer w różnych językach. Platformy Opiekun PREMIUM rozpoznawane na całym świecie jako CodigoFacilito. Artykuły Edytor Cristalab. Mój kanał YouTube jest sponsorowany przez wydawcę Anaya LaTostadora. Lubię szczegółowo wyjaśnić i podać kilka przykładów dla uniknięcia wątpliwości.