Skocz do zawartości

jak wyswietlic animowany sprite?


Rekomendowane odpowiedzi

Jeśli nie masz nic w Draw obiektu i nie bawiłeś się zmiennymi wbudowanymi image_index i image_speed to domyślnie po ustawieniu sprite'a obiektowi animacja będzie odtwarzana.

Innym wyjściem jest wstawienie w Draw funkcji:

GML
draw_sprite(SPRITE, NUMER_KLATKI_ANIMACJI, x, y);
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli nie masz nic w Draw obiektu i nie bawiłeś się zmiennymi wbudowanymi image_index i image_speed to domyślnie po ustawieniu sprite'a obiektowi animacja będzie odtwarzana.

Innym wyjściem jest wstawienie w Draw funkcji:

GMLdraw_sprite(SPRITE, NUMER_KLATKI_ANIMACJI, x, y);

 

Dzieki za odpowiedz.

Interesuje mnie ten 2 sposob. Znalazlem go w dokumentacji, jednak niestety ... ja chce cała kilkuklatkowa animacje, a draw_sprite wyswietla tylko jedną.

Obiektu nie chce robic, bo ten sprajt to tylko tło.

????

Odnośnik do komentarza
Udostępnij na innych stronach

:/ myslalem ze jest jakas gotowa funkcja.

No to jeszcze jedno pytanie :)

czy gdybym po prostu dał kilka sprajtow na obiektach nic nie robiacych oprócz dekoracji to czy optymalniej jest je narysowac wlasnie jako sprajty czy to bez roznicy?

 

//edit:

co ma robic? NAPISALEM CO MA ROBIC, MA WYSWIETLAC PELNA ANIMACJE.

Odnośnik do komentarza
Udostępnij na innych stronach

:/ myslalem ze jest jakas gotowa funkcja.

Jest. Właśnie Ci ją podałem. Przy umiejętnym użyciu wyświetla kolejne klatki.

 

czy gdybym po prostu dał kilka sprajtow na obiektach nic nie robiacych oprócz dekoracji to czy optymalniej jest je narysowac wlasnie jako sprajty czy to bez roznicy?

Z jednak strony dodatkowe obliczenia instancji, z drugiej wolny interpreter kodu.

Prawie bez różnicy więc postaw na czystość projektu.

 

co ma robic? NAPISALEM CO MA ROBIC, MA WYSWIETLAC PELNA ANIMACJE.

Wcześniej napisałeś "a draw_sprite wyswietla tylko jedną." więc dobitnie i ze zirytowanie zadałem retoryczne pytanie. Przecież jak chcesz wyświetlić całą animację to na raz wyświetlasz JEDNĄ KLATKĘ.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

klatkę wg. numeracji sprite obiektu, nie rysowanego sprite, tak nawiasem mówiac - zatem jeśli obiekt nie ma sprite, lub jego sprite ma dwie klatki, a rysujesz sprite który ma 10, to i tak musisz własny licznik klatek zrobic ;) mozna np. zwiększać go o prędkość typu 0.2, a wyswietlaj jako floor(predkosc), zeby zaokrąglało w dół do pełnej klatki ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Platyna w draw_sprite jako argument 'numer klatki' możesz wstawić -1 wtedy funkcja będzie odtwarzać po kolei klatki sprita zgodnie z prędkością image_speed. Nie trzeba więc podstawiać własnej zmiennej.

 

Wiem o tym. Gość jednak chciał rysować kilka sprite'ów w jednym obiekcie.

Odnośnik do komentarza
Udostępnij na innych stronach

jak nie masz nic w draw(nie masz wybranego eventu)to wykonuje sie draw_sprite_ext(sprite_index,image_index,x,y,image_xscale,image_yscale,image_ang

le,image_blend,image_alpha)

 

wiec nie ma roznicy

 

A takiego wała!

Jest różnica. Wszystko co jest w GM zautomatyzowane robi się szybciej niż jak byśmy to kodem zrobili.

 

Pytalem czy wyswietlanie animacji draw mniej obciaza gre niz wyswietlanie animacji jako obiekt, a nie o rysowanie kilku sprajtow w jednym obiekcie.

A to przepraszam to co jest? Krasnoludki?

czy gdybym po prostu dał kilka sprajtow na obiektach nic nie robiacych oprócz dekoracji
Odnośnik do komentarza
Udostępnij na innych stronach

(...)

czy gdybym po prostu dał kilka sprajtow na obiektach nic nie robiacych oprócz dekoracji to czy optymalniej jest je narysowac wlasnie jako sprajty czy to bez roznicy?

 

chyba wyraznie widac Platyna ze nigdzie nie pytalem o kilka sprajtów w jednym obiekcie.

Pytałem o efektywny i "najlzejszy" sposob wyswietlania animacji, wiec to chyba jest spora roznica.

Odnośnik do komentarza
Udostępnij na innych stronach

Takie obiekty powinny być tilesetami

Wychodzisz z tego tematu.

chyba wyraznie widac Platyna ze nigdzie nie pytalem o kilka sprajtów w jednym obiekcie.

Pytałem o efektywny i "najlzejszy" sposob wyswietlania animacji, wiec to chyba jest spora roznica.

Chodzi ci o animacje, więc nie możesz użyć tilesetów. Najszybszym rozwiązaniem prawdopodobnie będzie po prostu zwykłe draw_sprite_ext z poziomu jakiegoś niewidzialnego obiektu.

Odnośnik do komentarza
Udostępnij na innych stronach

Po co mają zabierać zasoby CPU?

 

Maja rownie wazne zadanie jak pierwszoplanowa postac.

Maja tworzyc klimat i ożywiać świat.

@Sernat: wlasnie to robię. Przepisuje sprajty do obiektu jako efekty specjalne. Dzieki temu likwiduje 17 obiektow nie majacych wplywu na story line. Dzieki.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...