GM 2023.1 z pierwszą betą

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ą Fishera–Yatesa
- 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.

Komentarze (łącznie 0):
Nie ma jeszcze żadnego komentarza. Czas to zmienić

Najnowsze wersje GameMakera:

Stabilna
2023.8.1.102 • 2023.8.1.148
wydana 12 dni temu
LTS
2022.0.1.31 • 2022.0.1.30
wydana 167 dni temu
Beta
2023.800.0.406 • 2023.800.0.429
wydana 28 dni temu
= IDE, = Runtime
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
Shoutbox
Adriann (21:06, 14.08.23)
Jest..hoho:D
Adriann (21:04, 14.08.23)
Nie znam tego, poszukam. Nie mówisz mam nadzieję o tej podmiance wewnątrz skryptu?
gnysek (10:38, 14.08.23)
Przecież jest: Search & Replace. Do tego nazwy skryptów i zasobów akurat Feather podmienia praktycznie bez problemów.
Adriann (14:39, 12.08.23)
Przydałaby się opcja do globalnej zmiany nazwy zmiennejobiektu we wszystkich skryptach i obiektach :D Tak to jest dość ciężko zabrać się za sprzątanie
SimianVirus7 (10:39, 12.08.23)
To nie burdel, to nieład artystyczny
exp (00:35, 12.08.23)
Feather nie zrozumiał, że burdel jest elementarną częścią mojego projektu
exp (00:34, 12.08.23)
Miałem to samo, nie tyle otworzyłem stary projekt, co w końcu ściągnąłem aktualizację (bo olewałem ten komunikat od chyba półtora roku)
gnysek (23:48, 10.08.23)
Kolizje tilesetowe rządzą!
gnysek (20:01, 26.07.23)
zobaczycie nowy edytor kodu, powinen wskoczyć do bety w sierpniu...
SimianVirus7 (11:24, 25.07.23)
No dokładnie :D
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Kiedy wyjdzie GameMaker (Studio) 3.0?