Nasze strony: gmclan.org gameonly.pl ps-plus.pl gameswithgold.pl n-switch.pl hmt.pl
Fastbar
Powrót do strony głównej
Trzymaj pliki na gmclan.org!
Game Maker w pytaniach i odpowiedziach!
Polska dokumentacja
Tabela wyników ligi 24
Pobierz GM
Akademia GMCLANu
Wiadomości
Kategoria: wszystkie :: game maker :: kącik programowania :: inne

Wielkie zmiany i nowości w GML pod koniec roku !!!

Na taką informację czekaliśmy od dawna. GameMakerStudio 2 w końcu czekają konkretne zmiany, poprawiające i dodające mnóstwo brakujących funkcjonalności do języka GML!!!

Pełna lista tutaj: www.yoyogames.c...updates-in-2019 - ale postaram się wam przybliżyć o co chodzi (zwłaszcza tym który angielski sprawia problemy).

Dereferencje tablic i struktur.
GMS 2 wprowadził zmianę, która pozwala wstawić tablicę do tablicy. Tak naprawdę teraz tablice 2D to własnie tablica w tablicy. Niestety, odczyt takiej zagłębionej tablicy nie jest łatwy, trzeba bowiem "podtablicę" przypisać najpierw do zmiennej.
Zmiany to poprawią i będzie można napisać tak:
kod:var a = my_array[1][4][0][2];To samo dotyczy map, list i gridów:
kod:var a = my_list[| 5][# 5, 6][? "key"]; // odczyt 5 elementu listy, potem pozycji 5,6 grida, potem klucza mapy w tymże gridzie
Skrypty i funkcje można napisać teraz wszędzie i przypisać do zmiennej.
Zamiast tworzyć skrypt, od teraz będzie można napisać:
kod:function my_script(a,b){return a+b;}Poza faktem, że można zrezygnować z argument0,...,.argment15, można też przypisać funkcję do zmiennej (jak w JS) i ta zmienna automatycznie zostaje nazwą funkcji. Powala to też na tymczasowe funkcje:
kod:var my_script = function(a,b){return a+b;} // bez "var" funkcja będzie globalnaMinusem jest to, że takie funkcje stracą dostęp do zmiennych tymczasowych zdefiniowanych poza nimi.
Wszystkie istniejące skrypty zostaną przekonwertowane po odpaleniu w GMS 2.3 do nowego formatu, a domyślnie zostanie argument0, argument1 itp.
Funkcje będzie też można dzięki temu zrobić w jednym pliku, a nie każda osobno. Będzie trzeba się przestawić z mówienia "skrypt" na "własna funkcja" - chociaż na finalne nazewnictwo poczekamy, na forum YYG już są na ten temat narzekania.

Lekkie obiekty
Będzie można zdefiniować własne obiekty, bez jakichkolwiek wbudowanych zmiennych (x, y, image_index itp.) - coś na zasadzie "struct" z innych języków czy właśnie obiektu z Javascriptu.
kod:
var a = {
name: "Buty z borsuka",
price: 500,
def: 20,
desc: "Te buty zrobiłem ręcznie",
can_buy: function() { return global.gold > price; }
};

konstruktor "new"
konstruktor "new" pozwoli na utworzenie instancji obiektu (coś jak instance_create dla lekkich obiektów).
kod:
function Item(n,p){
name = n;
price = p;
};
var buty = new Item("Gwiezdne kapcie", 300);

Łapanie wyjątków
GMS2 wprowadzi funkcjonalność wyłapywania błędów w grze, bez wywalania fatal errorów.
kod:
try {
var b = my_array[-1];
} catch ex {
// w zmiennej ex będzie błąd, zapewne "Index out of bounds" w tym przypadku
} finally {
// kod który będzie wykonany zawsze po try-catch, w sumie to bez finally za klamrą też powinien się wykonać
}

Garbage collector
Będzie usuwał zmienne które wyparowały z pamięci. Nie jest jeszcze jasne czy, ds_xxx też znikną, jak nie będą przypisane do żadnej zmiennej, bo tego YYG nie napisało. Ale logicznym by było, zeby tak się stało.


 

autor: gnysek | data dodania: 10:01, 5.04.2019 | odsłon: 998
Komentarze
stron: 1

1


av

Konrad-GM (21:11, 5.04.2019)

Jeszcze warto wspomnieć, że operator 'new' tworzy obiekt, który może mieć własne metody definiowane tak jak inne funkcje

function Item(n,p){
name = n;
price = p;
can_buy = function () { return global.gold > price; }
};
var buty = new Item("Gwiezdne kapcie", 300);

av

Pieter (12:04, 6.04.2019)

lul. tyle lat a GM nadal korzysta z GML? Już lepiej by było gdyby przepieli się na V8 albo Lua, wyszło by im to na dobre.

av

Temporal (13:40, 6.04.2019)

Fajnie gnysek, że nie linkujesz newsa z yoyo strony, tylko jednak robisz własną wersję z własnymi przykładami. Szanuję.

av

gnysek (11:59, 8.04.2019)

Dzięki

stron: 1

1



Dodaj komentarz:
Treść:
Menu
Panel użytkownika
Jesteś niezalogowany!

Nie masz konta? Zarejestruj się
Użytkownicy on-line
15 użytkownik(ów) aktywny(ch) przez ostatnie 15 minut:
gości: 15, userów: 0, ukrytych: 0
Użytkownicy na czacie discord
gnysek (0:07, 23.08.19):
Jaki GM?
exp (22:47, 21.08.19):
jak to wgl możliwe
exp (22:47, 21.08.19):
w ramach testu dodałem room bez niczego, dałem tylko "room_goto_next()" w creation code i błędy również występują
exp (22:46, 21.08.19):
natrafiłem na przedziwne zjawisko... kiedy dodaję do gry nowy room, losowe fragmenty kodu przestają działać albo działają inaczej
gnysek (0:15, 20.08.19):
O oknach wewnątrz gm, oczywiście
Konrad-GM (22:45, 19.08.19):
A ja mam w laptopie klawisz win po prawej stronie tylko, jest to mega niewygodne imo :/
Ranmus (19:34, 19.08.19):
Nie wiem o czym mowa Gnysek, ale jeśli chodzi o przełączanie okien w windowsie na jednym monitorze, to lepiej raczej win+tab, wypchnąć okienko do nowego pulpitu, a potem ctrl+win+left/right arrow
gnysek (14:00, 14.08.19):
wystarczy korzystać z recent window i ctr+tab
nowy_user (12:08, 14.08.19):
ale za to jak fajnie wygląda poza tym wydaje mi się, że wystarczy dokupić drugi monitor i w GMS2 pracuje się całkiem wygodnie.
exp (23:55, 13.08.19):
ale masakra jest z tym nowym interfejsem. nawyki budowane przez kilkanaście lat poszły do piachu
exp (23:53, 13.08.19):
nie trolluj dowcipnisiu
Chell (21:10, 13.08.19):
jak podasz "nowicjusz" to masz poblokowane różne lengthdiry itd
gnysek (20:15, 13.08.19):
To w celach poznawczych. Żeby potem wiedzieć dla kogo bardziej rozwijać.
exp (16:56, 13.08.19):
swoją drogą, przy rejestracji musiałem określić swój poziom zaawansowania, on na coś wpływa?
exp (16:56, 13.08.19):
pobrałem dzisiaj GMS2 i masakra, jak się wszystko pozmieniało
gnysek (11:48, 12.08.19):
GML jest do nauki w tydzień, jak znasz inny język i masz doświadczenie. Tylko ten ból, ilu rzeczy brakuje...
nowy_user (0:27, 10.08.19):
Wszystko na to wskazuje, myślę że w YoYo doskonale zdają sobie sprawę, ile $$ mogą na tej zmianie zarobić. Wiele małych firm GameDevowych pewnie rezygnuje z GMa na korzyść Unity, właśnie głównie dlatego, że nie znają GMLa i nie chcą marnować czasu na uczenie się nwego języka. A tu właśnie studia i zawodowcy to otencjalnie największy $
gnysek (15:19, 9.08.19):
Kto wie, może te zmiany w grudniu to pierwszy krok ?
gnysek (14:50, 9.08.19):
Miał być JS, ale ostatecznie wyparował z bety (a tam też chyba tylko był w opcjach, a pisać się nie dało).
nowy_user (11:01, 9.08.19):
Mi się marzy, aby GMS dodało w końcu możliwość pisania w innym języku. Co prawda znam tylko GML, ale zawsze mógłbym się nauczyć nowego języka, natomiast dużo łatwiej byłoby mi znaleźć kompanów do wspólnej pracy nad grą, gdyby można było pisać np. w C# . GML jest językiem bardzo niszowym, i ciężko w realu znaleźć ludzi, którzy go znają.
nowy_user (10:56, 9.08.19):
Nie do końca, bo system kamer się trochę zmienił, ja po imporcie swojego projektu mam małe zamieszanie w kodzie z viewami (tzn. wszystko działa jak trzeba , ale kod jest dla mnie dość obcy)
gnysek (17:28, 8.08.19):
Nieee, tylko interfejs, reszta ta sama Dopiero w grudniu będą zmiany, czwarty news od góry.
Konrad-GM (12:04, 8.08.19):
Siemaneczko, strzałka, piąteczka, GM Studio 2 tak się zmienił, że to już nie ten sam GM co na Delphi.
Pablo-GM (12:02, 8.08.19):
siemacie Panowie, kilka lat minęło, a w człowieku odezwał się zew stworzenia gierki. Zastanawiam się tylko jak mocno zmienił się sam game maker?
Flashek (14:26, 7.08.19):
jak ja bylem to było
szpaq99 (9:23, 7.08.19):
Na dolnym też nie było tragedii, dokładnie kilka dni tylko kilka razy przygrzało mocniej i tyle,
gnysek (9:41, 6.08.19):
ja całe życie nad morzem mieszkam i nie stwierdzam upałów w tym roku... może ze dwa dni.
szpaq99 (7:38, 6.08.19):
Sobie wiatraczki odpalcie
Flashek (22:06, 5.08.19):
nad morzem tez upały
Dester (13:34, 31.07.19):
faktycznie, przez przypadek zaznaczyłem persistent w jednym, dzięki @Threef
Dester (13:34, 31.07.19):
wygląda na to, że resetują się zmienne dotyczące symulacji fizyki, ale nie obiekty (pozycje, instancje utworzone w trakcie gry, itd)
Threef (13:32, 31.07.19):
Persistent obiekty?
Dester (13:29, 31.07.19):
czy to może mieć związek z gamemakerowym silnikiem fizyki? pierwszy raz z niego korzystam
Dester (13:27, 31.07.19):
room się nie restartuje, tylko tak jakby... zwalnia?
Dester (13:27, 31.07.19):
mam restart roomu w evencie naciśnięcia Q, ale po kilku niezwiązanych zmianach przestał działać
gnysek (10:29, 30.07.19):
nad morzem raczej nie
Flashek (23:14, 29.07.19):
ah te upały
Threef (10:27, 29.07.19):
Jeżeli ktoś nie zdążył wrzucić gry na ligę i chce to zrobić to niech wrzuci grę do Uploadera i prześle mi link na PW
exp (0:22, 29.07.19):
miał być to taki trochę klon icy towera i odnosić się do tego forum.gmclan.or...;comment=431274
exp (0:19, 29.07.19):
i patrzcie, wygrałbym turę
exp (0:19, 29.07.19):
ja miałem pomysł na prostą grę, ale stwierdziłem, że będzie to słabe
SimianVirus7 (20:00, 28.07.19):
Zabrakło minuty, żebym wstawił gierkę, ale i tak jest mocno niedokończona
SimianVirus7 (15:08, 27.07.19):
U mnie wszystko jest normalnie, w pionie jak i w poziomie
gnysek (14:19, 27.07.19):
Wam też na Chrome na komórce nie pokazuje się shoutbox aż nie przesunie się ekranu? Jakiś bug renderowania?
gnysek (8:57, 25.07.19):
Nie, w ten sposób się przyspiesza ich rysowanie. Dlatego ta opcja zniknęła.
SimianVirus7 (20:35, 24.07.19):
w gm:s2 można jakoś nie snapować tilesetów do grida? przycisk alt nie działa, jak to było w gm:s
gnysek (1:30, 24.07.19):
RPO to nie żarty. Niepotrzebnie mu zawracał głowę
Threef (15:53, 23.07.19):
Nie, ale zaśmieszkowałem sobie i trzeba
exp (15:52, 23.07.19):
tfu, przez maxgaminga
exp (15:52, 23.07.19):
ale nie czaje, że przez threefa w lidze trzeba mieć zgodę drugiej osoby? xd
Ankieta
» Ile powinny trwać tury Ligi 24?
24h
48h
54h (piątek od 18:00)
7 dni
inna długość (podałem w komentarzu ankiety)

GMCLAN to serwis o programie Game Maker i nie tylko.
[ Polityka prywatności ]
Copyright © 2002-2019. GMCLAN.ORG
Wszelkie prawa zastrzeżone. Kopiowanie materiałów bez zgody redakcji zabronione!
© 2002-2017 Ranmus (ranmus.pl), © 2017-2019 {=|=} fable_inside();

[ Czas generowania strony: 0.01673 sekund ] [ Liczba zapytań MySQL: 8 ]