Skocz do zawartości

Bufory w Game Marker Studio


m97

Rekomendowane odpowiedzi

Witam, ostatnio zacząłem się uczyć niedawno dodanych buforów do gms i mam problem z funkcją "buffer_seek". Umiem ustawić odczyt na początku bufora i na jego końcu, ale nie wiem jak go ustawić w środku bufora, np. po piątym bajcie, a takie coś nie działa:

GML
buffer_seek(blocks_map,16,1)

Z góry dziękuje za pomoc.

Odnośnik do komentarza
Udostępnij na innych stronach

Według dokumentacji:

This function can be used to move through a buffer, finding the start, the end, or a position relative to that which was last used when reading or writing data. The "offset" value is the offset (in bytes) to add to the given seek position, for example, if the base is relative and the offset is 4, then the buffer position will move along 4 bytes from it's current position. Please note the following:

 

You can use negative values for the offset to seek back through the buffer as well as positive values.

 

If the buffer is of the "wrap" type and you offset past the end of the buffer, the seek position will also wrap.

 

If the buffer is not of the "wrap" type, the seek will clamp to the beginning or end of the buffer, even when the offset would take the seek outside of the buffer limits.

 

The following constants are accepted as the "base" argument for seeking to:

 

buffer_seek_start The start of the buffer

buffer_seek_relative A position relative to the current read/write position

buffer_seek_end The end of the buffer

 

To chyba powinno być coś takiego:

 

GML
buffer_seek(blocks_map, buffer_seek_start, 5); //ustawia pozycję na 5 od początku bufora

buffer_seek(blocks_map, buffer_seek_relative, 5); //przesuwa pozycję w buforze o 5 bajtów do przodu</span></span>
Odnośnik do komentarza
Udostępnij na innych stronach

Dziękuje, za pomoc. Źle wpisałem argumenty i dlatego to nie działało. Chciałbym jeszcze zapytać o deaktywacje obiektów w gms. Mam w roomie 12k obiektów i bez deaktywacji jest ponad 100 fps, a z nią fps spada poniżej 30. Czy to normalne, czy jest to jakiś błąd. Wcześniej, gdy pracowałem na gm 8.1 deaktywacja zawsze przyspieszała mi grę a teraz zwalnia.

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ę...