Programowanie gier dla Androida

Programowanie gier dla Androida 18: akt aktor

42 filmy

238 minuty

Po obejrzeniu klasę ActorJugador, oczywiście nadal mamy do wyjaśnienia funkcjonowania metody akt (). Co zrobię to instancję, lub utworzyć nową klasę, nowy typ aktora, w tym wypadku ActorPinchos reprezentować moje kolce, które nie są bardzo skomplikowane do wykonania, Jest to dokładnie taka sama. Tylko w tym przypadku, jak pamiętam, kiedy przyniósł szaszłyki, jest to, że tekstury wykorzystywane jako pretekst do dopchać

Mówiąc o TextureRegions, więc ActorPinchos będzie musiał nam przekazać, a nie fakturę jako parametr, ale TextureRegion, więc wiesz, gdzie granice tekstury użyć do rysowania są. To jest ta sama: Ja budowniczy i przekazywana jako parametr te kolce. I podobnie jak poprzednio, powiem batch.draw (szaszłyki, getX (), getY ()). W takim przypadku wystąpienia jest równie prosta. Najpierw zrobię tekstury kolce.

pinchos = nowe tekstury ( 'pinchos.png'). W tym przypadku mam nie tylko dbać o fakturze, ale w tym regionie. TextureRegion regionPinchos. Zaczynasz rozumieć, dlaczego assetManager staje się jaśniejszy, ponieważ wyglądają jak to działa. RegionPincho być nowy region, i jeśli dobrze pamiętam numery powinna wynosić 0, 64, 128, 64. pamięci. Teraz to, co mogę zrobić, to instancję moje ActorPinchos, które mijam ten region,

iz tym mam go załadować. stage.addActor (szaszłyki), i będzie można umieścić w pozycji (400, 100). Naprawdę to, co chcę to wyjaśnić, jak to działa metoda akt, dzięki czemu pojawia się po prawej zawartości side'm. Zobaczmy, gdzie wydaje się, bo szczerze mówiąc nie wiem. W porządku. Bardzo sprytnie mnie zapomnij zadzwonić poprawną zmienną, ale najważniejsze jest to, że pojawiają się po prawej stronie ekranu. Gdzie mam zamiar z tym zrobić?

Jestem zainteresowany szaszłyki przesunąć w lewo, aby uderzyć odtwarzacza. Aby to zrobić, będę używał akt dla mojego sposobu szpikulec ma ruch Stała w lewo. Wymaga to za pomocą zmiennej delta. Czemu? Bo ktoś powie: 'Mówię tutaj w akcie, Chcę, aby przesunąć go w lewo, a jest prosta. Patrzę gdzie moje skoki są i korygowana w X - 10 pikseli. 'To jest pomyłka. Nie rób tego. Po pierwsze,

nastąpi to 60 razy na sekundę, więc będzie go bardzo szybko. Zbyt szybko jak na mój gust. Po drugie, bo jeśli nasza gra zaczyna się wahać, wyobrazić lub wystąpią jakiekolwiek problemy, gdyż obniży tempo, w jakim jest on powołany do działania, ponieważ obniża liczbę że telefon zacząć robić rzeczy tle Czasy, które mogą być wezwane na sekundę, będzie przyspieszać, zwalniać i tworzyć nieprzyjemny efekt. Zamiast tego, co zostało zrobione to efekt ruchu

stała prędkość, wykorzystując mamy parametr delta. Aby to zrobić, mam otwartą Skitch bo chcę pokazać, co chcę osiągnąć. Dostarczenie następnej zasady. Mam ekran, zakładam ten biały prostokąt, aby uprościć, zajmując 640 albo tak szeroki. Mam tu moje kolce i moja postać ma tutaj. Załóżmy, że charakter ma po prawej stronie w odległości 600 pikseli,

choć wydaje się nieco przesadzone, więc to, co będziemy robić to zmniejszyć go do 500. kolce przenieść 500 pikseli w lewo i uderzył odtwarzacza. Co chcę się dać graczowi czas 2 sekund. Nie chcę, aby umieścić to bardzo trudne, ale nie chce, aby to tak proste w świecie. Chodzi o to, że zwój klasy szaszłyki ciągu dwóch sekund odległości 500 pikseli. Jeśli robimy obliczenie, i to jest zasada 3,

moja objetito musi prędkość jazdy -250 pikseli w kierunku X; czyli co drugi jego pozycja X powinien zmniejszana o 250 pikseli. Jedynym problemem jest to, że nie wiemy kiedy jechać sekundę tylko co 0,01 lub 0,02 sekundy, aby wywołać metodę działania, a masz zamiar powiedzieć, ile Kilka sekund minęło od czasu ostatniego została wezwana do działania, jest bardzo mała wartość dziesiętną. Więc ostatnią rzeczą do zrobienia jest podzielenie tego

w małych opakowaniach i tworzą Zasada 3: jeśli go w stosunku 1 250 pikseli, 0.01 sekund X. Jeśli przesuniesz robię to, co muszę zrobić, to figura przyspieszenie liniowo pomnożenie przez delta prędkość w pikselach na sekundę. Na przykład, aby dokonać charakter tych rozwinąć się -250 Prędkości px / s, muszę pomnożyć przez -250 delta, aby określić, ile przenieść ten pakiet kilku milisekund

nam zostało udzielone. Na przykład, setX (getX () - 250 * trójkąt). Jeśli więc 0.01 sekundy teraz minęło 2,5 pikseli przeniesie, jeśli mam zrobione dobrze rachunki. Jeśli gra jest wolniejsza i trwa 40 milisekund ... pomnożyć ją, ale nadal pozostawiając niewielką wartość. Przez tych podwyżek możemy uzyskać bezpieczniejszą jazdę. Jeśli teraz umieścić w pozycji 500 będę miał 2 sekundy czasu, dopóki nie zniknie

Po lewej stronie ekranu. Takie, że dobrze. W rzeczywistości nawet przeszłość, bo jest bardzo powolny. Ważną rzeczą jest to, jak widać Mamy dość poważny problem, bo jeśli powtórzysz animację, postać nie jest niewzruszony przez istnienie kolców. Przedstaw kolizje trzeba wykryć, że doszło do kolizji.

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.