YoYoGames w nowym cyklu wydawniczym ustanowiło lipiec i grudzień miesiącami urlopowymi, w których nie wydaje stabilnych wersji, ale to nie znaczy, że nie wydaje wersji beta na kolejny miesiąc, więc w grudniu dostaliśmy już wersję styczniową. Wersja 2023.1 ma wprowadzić sporo "poprawek dla wygody użytkowania" (QoL), a pierwsza beta zawiera tylko mały wycinek zmian które teoretycznie wg. roadmapy trafią do wydania styczniowego (które dopiero za 50 dni! ).
Nowości:
- kolejne pomniejszenie runtime (ten podstawowy też nie ściąga już plików win/mac/linux jeśli któryś z nich to nie nasz OS)
- nowy serializer JSONów projektów, który ma przyspieszyć zapis, nowy sposób zapisywania sortowania drzewa zasobów
- nowe funkcje dla zmiennych typu static
(więcej poniżej)
- is_instanceof()
- sprawdzanie czy dany konstruktor dziedziczy po innej (przez id, a nie przez string; włączając dziedziczenie)
- pobieranie u stawianie staticów dla klas/funkcji, poprzez static_get(), static_set()
- pierwsze pozwala zmienić wartość static spoza funkcji/konstruktora, drugie pozwala natomiast dodać nowego statica do struktury
- array_shuffle(), array_shuffle_ext()
- do sortowania tablic (ale nie jako array_sort(a, function(){ return random(1, -1); });
, a metodą [url=en.wikipedia.org/.../url]
- audio_effect_create()
ma teraz dodatkowy opcjonalny parametr w którym można przekazać struct z danymi o efekcie; działa to podobnie jak w instance_create() które też dostało taki argument kilka wydań temu
- nowy plik projekt.resource_order
który można dodać do .gitignore i dzięki temu unikać konfliktów przy dodawaniu/przesuwaniu zasobów w drzewach (generalnie dla projektów kilkuosobowych zaleca się sortowanie po nazwie i manipulowanie kolejnością poprzez nadawanie alfabetycznych nazw w danej grupie)
Zmiany dotyczące odczytywania staticów pozwalają na dostęp do statycznych po nazwie funkcji lub konstruktora i korzystać z nich jak z namespace'ów w innych językach (jedyny warunek - jakakolwiek inicjalizacja przed pierwszym odczytem):
kodfunction GameOptions() {
static music = true;
static fullscreen = true;
}
// trzeba zainicjować, żeby utworzyć statyczne
GameOptions();
// teraz możliwe jest:
var _music_enabled = GameOptions.music;Tym samym otrzymaliśmy coś wzorem namespace'ów, z dobrze znaną nam notacją nazwa.własność.
Info o becie 2023.100.0.252 IDE: gms.yoyogames.com/ReleaseNotes-NuBeta.html
Info o becie 2023.100.0.264 runtime: gms.yoyogames.com/release-notes-runtime-NuBeta.html
Stabilna wersja powinna wyjść 31 stycznia. Zawierać ma też nowe filtry, a także być może Particle Editor.
GM 2023.1 z pierwszą betą
Piątek, 09 Grudnia 2022, 18:50