Programowanie gier dla Androida

Programowanie gier dla Androida 14: Ekrany wielokrotności

42 filmy

238 minuty

Po tym wyjaśnieniu, że dokonały Scene2D zobaczymy jak stworzyć scenę. Wcześniej, jak stworzyć grę na żywo, bardziej lub mniej, uczy, jak zrobić, aby dowiedzieć się, że wprowadzi zmiany, które będą korzystne dla wszystkich. Rozmawiałem przed ApplicationAdapter i powiedziałem mu, że istnieją pewne sposoby, które działają w pewnym momencie, ale może ktoś zauważy, że czegoś brakuje, i to, że gdy masz ApplicationAdapter,

po otwarciu gra zaczyna się rozwijać metody renderowania i jedno jest rysowany. Ale jeśli spojrzymy na głównych gier, które istnieją lub gier mobilnych normalnie nie otworzyć grę i rzuca ci ekranu gry. Istnieją specjalne ekrany, powitanie, lub przyciski, które mówią, 'Play'. To dlatego, że te gry korzystania z wielu ekranów, a my jak chcemy dostać się do naszej gry przynajmniej na ekran powitalny

nie panikuj po otwarciu gry będziemy robić coś podobnego, i integruje libgdx podobnej klasy ApplicationAdapter bo przecież rozszerza, ale pomożemy tworzyć gry multi-ekranowych i gier. Na szczęście gra jest klasa, która rozciąga się jak mówię z ApplicationAdapter, więc nie mam żadnych zmian, choć gra wprowadza ciekawą metodę zwaną setScreen. Dzięki tej metodzie możemy wyciągnąć

wyświetlić ekran, ekran. Co zrobimy, to użyć grę, a następnie wprowadzić każdy z ekranów w obiektach Typ ekranu, które tworzymy. Od czasu do czasu będziemy prosić metodę setScreen klasy gier umieścić na ekranie jednego ekranu lub innego. Jedynym osobliwością jest to, że każda z tych ekranów, takich jak opcje lub zleceniodawcy, powinien udać się na ekranie. I po jakimś związku

po prostu powiedz mu, żeby umieścić ekran lub inną. Zobaczmy, jak tworzyć nasz ekran, a ja stworzyć ekran o nazwie MyScreen, które są wdrażane na ekran. W tym czasie ja, który implementuje Ekran zmusi mnie do napisania szereg metod, które nie muszą się uczyć, wiele, ponieważ widzieli, że kiedy mówił o ApplicationAdapter: zmiana rozmiaru, render, CV, ukryć, usunąć ... wszystko, co robi jest ... Gra

w rzeczywistości nauczę, to ApplicationListener, w którym wzywa do rozporządzania, pauza delegowany do ekranu w tym momencie reprezentuje, co jest dość dobre, bo to jest tak naturalne i tak się poznaliśmy. Jedyną różnicą jest to, że sama czyni przyjmuje parametr o nazwie delta chwilę w ApplicationAdapter nie akceptują go, a ten parametr jest używany, ponieważ podczas gry robią rzeczy chcemy je zachęcić

lub rzeczy ruchomych, a czasem trzeba wiedzieć, ile czasu minęło od ostatniego został wezwany do renderowania. Na przykład, wydali 25 milisekund od czasu ostatniego ekran jest odświeżana. Aby przenieść znaków ze stałą prędkością, co muszę zrobić kalkulację, aby przejść od 20 do 30 pikseli i wydaje się, że porusza się również. Normlamente to wykorzystać, aby przedziały czasowe, i widzę, że kolce, gdy wprowadzamy będzie zależeć

wiele z delta. Druga różnica, oczywiście, jest istnienie metoda zwana metoda nazywa się pokazywać i ukrywać. Za każdym razem po zmianie ekranów, na ekranie przedstawionym wywołać metodę pokazu, dzięki czemu można załadować własne, a ekran zatrzymuje pokaz nazywa się ukryć, aby mieć że nie jest już widoczny i może zatrzymać dźwięk czy można zwolnić niektórych zasobów lub cokolwiek innego. Więc, od teraz będziemy używać tego ekranu,

ale jak widać, nie ma połączenia pomiędzy ekranem a gry. Wzór, który jest zwykle wykonywane, gdy gramy przynajmniej libgdx, jest w jakiś sposób podłączyć każdy z ekranów z głównej gry, bo czasami mamy wspólnych zasobów muszą być pod kontrolą w każdym czasie, w każdym systemie audio lub systemu reklam, jeśli mamy do wyświetlania reklam na naszej grze. W rzeczy są trudne do wystąpienia

ponieważ zużywają zasoby, zwykle mamy instancję tylko raz w głównej grze, bo to jest głównym gry, a główną klasą. Ale potrzebujemy jakiejś formy ekranów świadomi tych dziedzinach, więc najczęściej wzór, który jest często stosowany, kiedy Multiscreen gier Główna klasa jest połączyć się z ekranu podstawowego, na przykład za pomocą konstruktora, która akceptuje MainGame jako parametr i jest zapisany jako pole,

ponieważ w ten sposób mogę teraz zrobić wiele rzeczy: game.setScreen zmienić ekran, a jeśli mam pole jako kierownik tekstury Można uzyskać dostęp do menedżera, więc mamy tak dobrze wychodzi. W rzeczywistości inny wspólny wzór jest, że ta klasa jest zawsze klasa korzeni, czyli że jest to bardzo uciążliwe, aby wdrożyć wiele metod, które czasami nie będziemy używać, które zwykle odbywa się to zadeklarować tę klasę abstrakcyjną i

aby odtąd na każdym ekranie, że naprawdę chcesz robić, takie jak powitanie, cokolwiek to jest rozszerzenie do tego ekranu bazowego, które mogłyby zmiany nazwy przez BaseScreen celu wskazania, że ​​wszystko jest ekran korzeń, tak że każdy z tych ekranów ma już dostęp do MainGame, jeśli zmienię chronionych bez konieczności przepisać ten kod takim czy innym czasie, których będziemy się przydać.

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.