Skocz do zawartości

Dodawanie klatek


Exigo

Rekomendowane odpowiedzi

Hej,

Tworzę dynamicznie sprite, korzystając ze źródła będącego surfacem. Sprite taki posiada jedną klatkę (ind. 0).

Teraz pytanie: Jak "dołożyć" następną klatkę (tzn. o indeksie 1, 2, 3, etc.)?

Używany w tym przypadku sprite_create_from_surface nie posiada argumentu odpowiedzialnego za wymagany indeks (przykładowo, w przeciwieństwie do sprite_add który go ma, ale sposób wczytywania bitmapy jest z góry zarzucony w formie zewnętrznego pliku (nie da się po prostu wpisać tam identyfikatora surface)).

Odnośnik do komentarza
Udostępnij na innych stronach

Bump,

Mam trochę wolnego czasu więc wracam do problemu. ; ) (i sry za double, ale był koniecznością)

Tak więc sprostowanie: obydwie wymienione przez was funkcje Nie posiadają argumentu odpowiedzialnego za subimage.

Może napiszę co chce uzyskać, gwoli ścisłości, w jednym zdaniu:

Mam zewnętrzny plik graficzny, który jest atlasem, zawierającym 256 znaków. Celem jest wczytanie tego, i przerobienie na fonta. Odległości są mniejszym problemem, z tym sobie poradzę. Jakieś pomysły? ^^

 

A, i najważniejsze: Makary napisał o tablicy. To akurat chcę ominąć, ze względu na potrzebę funkcjonalności oferowanej przez gmowe fonty. ; )

Odnośnik do komentarza
Udostępnij na innych stronach

najpierw tym robisz nowego sprita z 1 klatką

sprite_create_from_surface(id,x,y,w,h,removeback,smooth,xorig,yorig) Creates a sprite by copying the given area from the surface with the given id. removeback indicates whether to make all pixels with the background color (left-bottom pixel) transparent. smooth indicates whether to smooth the boundaries. This makes it possible to create any sprite you want. Draw the image on the surface using the drawing functions and next create a sprite from it. The function returns the index of the new sprite. Note that alpha values are maintained in the sprite.

potem tym dodajesz kolejne klatki

sprite_add_from_surface(ind,id,x,y,w,h,removeback,smooth)

Adds an area of the surface id as a next subimage to the sprite with index ind.

potem tym przerabiasz sprita na fonta

font_add_sprite(spr,first,prop,sep) Adds a new font and returns its index. The font is created from a sprite. The sprite should contain a subimage for each character. first indicate the index of the first character in the sprite. For example, use ord('0') if your sprite only contains the digits. prop indicates whether the font is proportional. In a proportional font, for each character the width of the bounding box is used as the character width. Finally, sep indicates the amount of white space that must separate the characters horizontally. A typical value would lie between 2 and 8 depending on the font size.
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ę...