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: 298
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
5 użytkownik(ów) aktywny(ch) przez ostatnie 15 minut:
gości: 4, userów: 1, ukrytych: 0
nowy_user
Użytkownicy na czacie discord
doctor (11:31, 26.04.19):
Np. PHP umożliwia przerobienie JSON na tablice, tablice można sortować, mieszać (...), a w GM CHYBA trzeba użyć DSów
doctor (11:30, 26.04.19):
Ja się zdecentralizowałem, elo benc. Ciekawi mnie czemu w GM stosuje się DSy zamiast ogarnąć strukturę tablic?
Wojo (11:11, 26.04.19):
Fervi czasami był człowiekiem dalszym od rzeczywistości niż ja sam.
doctor (0:18, 26.04.19):
A no (Steem dokładniej). Trochę upada, ale parę gier jest (czy dobre ...? Tak sobie). Steem Monsters, Drug Wars czy NextColony
I am Lord (23:10, 25.04.19):
Fervi już chyba z 2 lata temu coś gadał o blockchainowym steemit
MaxGaming (21:52, 25.04.19):
Ja jak przeglądam fora biznesowe to kojarzy mi się od razu z bajką Pinki i Mózg - "Co dzisiaj robimy? - Jak to co? Budować kolejnego blockchaina!"
doctor (21:08, 25.04.19):
Kiedyś czytałem o blockchainie do robienia zdecentralizowanych baz danych, chyba kompatybilnych z SQLite
MaxGaming (18:18, 25.04.19):
Plotki mówią, że niedługo powstanie blockchain do robienia blockchainów
doctor (17:50, 25.04.19):
Nie no, już kiedyś mówiłem xD Czasem jak projekt wypali (pewnie nie) to nagle dają dużo hajsuf
Wojo (17:30, 25.04.19):
Jest 2019 rok, trudno się dziwić, że nawet na niszowym forum ktoś o tym wspomniał
MaxGaming (14:40, 25.04.19):
Kiedy nawet na gmclanie ludzie już mówią o blockchainie
doctor (14:08, 25.04.19):
hmm, nie o to mi chodziło, ale może coś wywnioskuję
doctor (14:05, 25.04.19):
No proszę, widać da się zrobić mój projekt i zintegrować z magicznym blokczejnem - dzięki
gnysek (11:34, 25.04.19):
Oczywiście, że tak. Jest przykład wysyłania i odbierania danych na stronie - gmclan.org/index.php?plik=227
doctor (11:23, 25.04.19):
Pytanie też inne - czy może się strona w PHP jakoś skomunikować z grą? Np. by grać potrzebujesz się autoryzować w PHP, który potem login ze strony przekazuje do gry?
doctor (11:20, 25.04.19):
To spróbuję, bo myslałem, że 1.4 początkowo nie miał takiej opcji, a to w sumie dużo by zmieniło ... Tylko muszę ogarnąć jak wgrać Game Makera, bo tak sobie chodzi
gnysek (0:34, 25.04.19):
Generalnie do tej samej domeny bez problemu.
gnysek (0:34, 25.04.19):
Zawsze się dało. Tylko nie do każdego serwera ale to już zabezpieczenia przeglądarek. Poczytaj o CORS.
doctor (19:42, 24.04.19):
Czy da się wysyłać HTTP Requesty (Events) z poziomu gry w GMS1.4 HTML5? Bo kiedyś się chyba nie dało ...
doctor (19:41, 24.04.19):
Moim zdaniem Game Maker poniżej Studio 2.0 są specjalnie komplikowane. Wgranie 1.4 jest wielkim problemem Elo
SimianVirus7 (20:50, 18.04.19):
ten program działa, bo odpalanie starych game makerowych gier w trybie zgodności nie zdaje egzaminu (przynajmniej u mnie)
exp (17:52, 18.04.19):
pamiętam że ktoś zrobił naprawdę dobrego tower defence na początku ligi
MaxGaming (21:21, 17.04.19):
groups.google.c...ers/w17mO9qGiD0 - możliwe, że to by komuś mogło pomóc. Resztę kodu mam tylko potrzebuję systemu który pozwoli mi rozgraniczyć sesję przeglądarki między kontrolkami webbrowser
MaxGaming (21:15, 17.04.19):
Jest ktoś w stanie napisać mi funkcje o której mówię w poście na forum(abym mógł w dwóch kontrolkach webbrowser być zalogowany na dwa różne konta na stronach WWW) za 50-150zł? Podejrzewam, że jeśli ktoś zna rozwiązanie to jest kilka linijek kodu, ale ja nie mam pojęcia już jak to ugryźć. Blokowanie ciasteczek uniemożliwia logowanie, a usuwanie ich co sesje usuwa też z innej aktywnej sesji.
I am Lord (18:50, 17.04.19):
A zobaczcie jakie gierki były robione na ligę na początku. Przecież z nich teraz by szło zrobić całkiem dobre pełnoprawne gierki, kiedyś to był gmclan
nowy_user (15:24, 17.04.19):
Z drugiej jednak strony, gdyby wspomniani GMclanowicze urodzili się 15 lat później i ich czas twórczości przypadłby na dzisiejsze czasy, to bez wątpienia zostaliby pełnoetatowymi twórcami gier i mogliby spełniać swoje marzenia. A tak to nie wiadomo co z nimi się dzieje, pewnie mają jakąś ‘normalną’, wysysającą z kreatywności i nadziei pracę.
nowy_user (15:05, 17.04.19):
To prawda, GMS nas rozpieściło. Kiedyś, gdy prawie nikt nie zarabiał na tworzeniu gier w GMie, to tworząc nowy projekt nawet nie myślałeś o $, tylko o tym, aby innym sprawić radość. Dzięki temu mieliśmy okazję zagrać w naprawdę niezłe produkcje za free, a gdyby powstały dziś to musielibyśmy za nie słono zapłacić. Mam tu na myśli np. Bruce Lee 2004 Mataska, Mario Forever Borka czy też Jump! Jump! Anacondy.
I am Lord (13:09, 17.04.19):
bo odbiera przyjemność
I am Lord (13:09, 17.04.19):
A teraz z co bym się nie zabrał to myślę z tyłu głowy jak na tym zarobić i to mi psuje wszystklo
I am Lord (13:08, 17.04.19):
Kiedyś to było, robiliśmy gry dla samej frajdy i była masa pomysłów
gnysek (10:58, 17.04.19):
na szczęście takich artystów jak BigShark i PrzeAss kojarzę.
gnysek (10:36, 17.04.19):
Liczę na Cairo 4
I am Lord (0:05, 17.04.19):
xd
I am Lord (0:05, 17.04.19):
BigShark
Wojo (16:00, 16.04.19):
Nieważne, już znalazłem
Wojo (16:00, 16.04.19):
Ja jakoś nie mogę znaleźć profilu Pietra.
Wojo (15:45, 16.04.19):
To jest na tyle bierny człowiek, że nie zakładał wcześniej konta
gnysek (15:38, 16.04.19):
mnie zastanawia kim faktycznie jesteś, bo nie nowym_userem, znasz znacznie więcej historii niż ja.
nowy_user (20:02, 15.04.19):
Chociaż Ranmus chyba wybaczył już Pieterowi(przywódcy buntu), bo zdaje się że widziałem Pietera ostatnio na GMclanie. Po wielu latach w końcu zakopali topór wojenny
nowy_user (19:57, 15.04.19):
I tak wygląd jest dużo lepszy niż u konkurencji, mam tu na myśli oczywiście GMxxl. Ich stronka chyba już nawet nie istnieje, pewnie Ranmus ma osobistą satysfakcję: swego czasu kilku prominentnych użytkowników Gmclanu nieźle napsuło mu krwi, tworząc Gmxxl'a, dokonując tym samym wielkiego rozłamu na Polskiej scenie GMa.
MaxGaming (19:34, 15.04.19):
Mi tam pasuję głównie wersja mobilna stronki. Jest świetna
gnysek (19:16, 15.04.19):
btw. kiedyś był taki podobny zielony motyw do jPortal, od Ranmy, ale niestety w odmętach internetu zaginął - niby w internecie jest wszystko, ale szczerze to 15 lat temu było więcej niż dziś
gnysek (19:15, 15.04.19):
żadne droczenie, nigdy nikt z was nic lepszego nie zaproponował, więc wiem, że każdemu pasuje
XBlacKX (15:22, 15.04.19):
też lubię ten wygląd, chciałem się podroczyć tylko
I am Lord (12:54, 15.04.19):
to jest niezła archeologia
I am Lord (12:54, 15.04.19):
Apropos Gothiczka @Wojo www.youtube.com...h?v=raudY3eVrGI
gnysek (11:34, 15.04.19):
btw. naprawiłem też wyświetlanie błędów przy wysyłaniu shoutów które... chyba nigdy przez 15 lat się nie wyświetlały, a były zaprogramowane Brakowało 2-3 linijek kodu.
gnysek (11:10, 15.04.19):
A skoro obecny działa... nie wiem czy sens go zmieniać, i tracić 300-400 godzin na pisanie zmian.
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.02609 sekund ] [ Liczba zapytań MySQL: 8 ]