Linki do ciekawych stron

Beta 2.3.7 dodaje nowe możliwości programistyczne!

Ku zaskoczeniu, bowiem nie było to wcześniej zapowiadane, a i samo YYG zapomniało wspomnieć w release notes przy okazji pierwszej listopadowej bety (teraz są one wydawane w każdy wtorek i czwartek), w GML pojawiły się dwie nowe funkcjonalności.

Pierwsza to tzw. null coalescing operator, czyli operator nadający wartość gdy zmienna jest pusta (w przypadku GML nie mamy Nulla, więc bardziej odpowiednie będzie powiedzenie - niezdefiniowana).

W GMS 2.0 - 2.3.6 zapisalibyśmy to tak:
koda = is_undefined(b) ? 5 : b;Tymczasem w wersji 2.3.7 można prościej:
koda = b ?? 5;Można to czytać jako: ustaw a jako b, no chyba, że b nie ma wartości, to wtedy 5.

Oczywiście, są też przypadki, gdy chcielibyśmy to samo zrobić ale dla tej samej zmiennej, więc i tutaj doszedł nowy operator:
koda = is_undefined(a) ? 5 : ateraz można skrócić do:
koda ??= 5Co można odczytać jako: jeśli a nie jest jeszcze zdefiniowane, to ustaw 5.

Drugą zmianą jest pomijanie argumentów funkcji, aby użyć domyślnej wartości.
Jeśli mielibyśmy taką funkcję: kodfunction costamcostam(a, b = 5, c = 14, d = 19){};To chcą ustalić jedynie wartości a i d, musimy ręcznie przepisać domyślne wartości b (=5) i c (=14), co może być kłopotliwe, gdy z jakiegoś powodu zechcemy kiedyś zmienić domyślne wartości. Teraz wystarczy argument... pominąć, nie podając żadnej wartości. Zakładając więc, że a i d chcemy ustawić na 1, zamiast:
kodcostam(1, 5, 15, 1)możemy napisać:
kodcostam(1,,,1);
Te dwie niewielkie zmiany wbrew pozorom mogą okazać się bardzo przydatne.

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

Najnowsze wersje GameMakera:

Stabilna
2023.8.1.102 • 2023.8.1.148
wydana 14 dni temu
LTS
2022.0.1.31 • 2022.0.1.30
wydana 169 dni temu
Beta
2023.800.0.406 • 2023.800.0.429
wydana 30 dni temu
= IDE, = Runtime
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
23 użytkownicy online na discordzie:
ACCESS_ViOLATiON, MKP, Alice, Carl-bot, PolTomski, DungeonFairy, Murrri, Grela, fervi, s..., Chell, Alkapivo, Pako, LadyLush, Adriann, Fylyps, bagno, Tidżi, Dyno, Mtax, g..., SzymonKe, moeglich
Shoutbox
gnysek (14:59, 28.09.23)
Poszedł dziś update strony :)
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...
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Kiedy wyjdzie GameMaker (Studio) 3.0?