Borgrom Opublikowano 7 Lutego 2014 Udostępnij Opublikowano 7 Lutego 2014 Siemka, od razu na wstępie muszę powiedzieć, że nie wiele umiem w GMie zresztą pierwszy post (lol). Jednak nie jest tak, że od raz bez elementarnych podstaw zabieram się za nie wiadomo co. Poczytałem parę poradników, zrobiłem pierwsze gry (złap clowna itd.) i ogólnie jeśli chodzi o proste gierki to dałbym rade coś sklecić. Problem pojawia się na skryptach i GML, nie wiem jak te skrypty łączyć, niby wiem czego użyć itd ale nie znam dobrze składni, a już najbardziej nienawidzę w składni znaków typu { ; nie raz są i zielonego pojęcia nie mam co powodują. Od jakiegoś czasu zacząłem robić jednorękiego bandytę - symulator (lubię grać na maszynach i postanowiłem sobie zrobić coś takiego ale już na początku wiedziałem, że nie będzie to gra typu złap clowna i niestety kilka rzeczy będzie dla mnie trudnych. Jak na razie zrobiłem pulpit, udało mi się zrobić system losowania symboli ale mam i na pewno będę mieć szereg problemów. aby nie robić litanii postanowiłem wymienić 2 aktualne, bo już na samym początku obiecałem sobie, ze będę się skupiał tylko na istniejącym problemie inaczej się zniechęcę... 1. Pierwszym małym problemem jest to aby dany symbol się nie powtarzał (coś np. Sprawdź czy symbol pojawił się na koordynatach x y jeśli tak to nie twórz go na koordynatach x y) Wiem że trzeba tu użyć check, if ale nie wiem jak konkretnie ma to wyglądać... :( 2. Drugim może nieco poważniejszym jest sprawdzanie czy te symbole ułożyły się w konkretny sposób np. czy są w prostej linii (no i też jeśli symbol x znajduję się na x y, jeśli 2 symbol znajduje się na x y, jeśli 3 symbol znajduje się na x y i jeśli są jednakowe to...) Moim zdaniem skrypt z problemu pierwszego z powodzeniem mógłby również pomóc i w tym przypadku. Nie muszę mieć gotowców, jeśli ktoś zna jakieś poradniki które mogłyby mi pomóc to będę wdzięczny. Chciałbym też jednocześnie powiedzieć, że wcale nie muszę ukończyć zrobienia tej gry, po prostu wybrałem to sobie jako przykład aby trochę się wmiksować w skrypty i składnie GML Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ereg Opublikowano 7 Lutego 2014 Udostępnij Opublikowano 7 Lutego 2014 na poczotek. {} to znaki dla poloczenia wiecej linijek kodu do jednego bloku. GML // jedna linijka a+=1; if (a== true) a+=1; // skrocona verzja if // jest to samo jako if (a==true) {a+=1; } //wiecej linijek // tutaj zawsze vykona sie b i c bo tylko a+=1 jest objete niewidocznym blokiem if (a== true) a+=1; // skrocona verzja if b=56; c=a+b; // by if vykonal b i c to musisz tak if (a== true) { a+=1; // skrocona verzja if b=56; c=a+b; }; jak piszesz kod to uwazaj na ; jest on konciem comendy mozest na jednej linijce napisac GML a=irandom(5); show_message(string(a) ); osobisce blok {} biore za jednom takom linijke i dlatego uzywam ; w if tak GML // dla prostego if if (a==1) { a+=1; b=56; c=a+b; }; //dla if/else if (a<=1) { a+=1; b=56; c=a+b; } else if (a>1) { a-=1; b=56; c=a+b; } else { a=0; b=56; c=a+b; }; // dopiero tutaj koncze pierwszy if :)</span> znaido sie ludzie ktorzy bedo miec inny poglod na ten syntax, ale chcialem tym wyjasnic, ze zapis ma byc zrozumialy dla innych i dla ciebie :) scryptow sie nieboj, bo szybko przywykniesz w zasadie scrypt moze byc dany objektu(objekt w roomu jest instancja) do jego eventu. event vykonuje ten script w chvili kiedy jest jego kolej na netu znajdziejs game maker event ordres" dalej game maker ma scripts( tam jak so object, sprite itp.) to so scripty ktore so dostepne globalnie( znaczy ze so zawsze do dyspozicji) tutaj trza tylko uwazac ze taky script ma dostep do lokalnych zmiennych w zaleznosci od instancji ktora script wola. jesli scriph sc_zmien_hp(-10); vola gracz to script zmniejszy graczovi o 10 hp, ale jesli zawola ten sam script potwor sc_zmien_hp(-20); to mu hp sie zmienszy potworowi o 20 hp GML // script sc_zmien_hp(hp) hp-=argument0;zaraz masz uniwerzalny scipt ktory mozna volac z roznych typow instancji(gracz/wrog/ mob/ npc) kazdy script ma argument0-12 i niedefinovane so 0 ( nieprobowalem v GM:S) script na a+b moze wyglodac tak GML _licz_numery(nr1, nr2); GML a=argument0; b=argument1; c= a + b; return c; // ta linijka niejest wymagana. tylko zwraca wynik scriptu</span> mozew uzyc takGML // jakis event mouseclick lub keyboard_release show_message(string( _licz_numery(irandom(10), irandom(50)) ) ); string tylko zrobi z numeru strinyg by show_message mogla go wysietlic na screenie Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ereg Opublikowano 7 Lutego 2014 Udostępnij Opublikowano 7 Lutego 2014 ... 1. Pierwszym małym problemem jest to aby dany symbol się nie powtarzał (coś np. Sprawdź czy symbol pojawił się na koordynatach x y jeśli tak to nie twórz go na koordynatach x y) Wiem że trzeba tu użyć check, if ale nie wiem jak konkretnie ma to wyglądać... :( 2. Drugim może nieco poważniejszym jest sprawdzanie czy te symbole ułożyły się w konkretny sposób np. czy są w prostej linii (no i też jeśli symbol x znajduję się na x y, jeśli 2 symbol znajduje się na x y, jeśli 3 symbol znajduje się na x y i jeśli są jednakowe to...) Moim zdaniem skrypt z problemu pierwszego z powodzeniem mógłby również pomóc i w tym przypadku. Nie muszę mieć gotowców, jeśli ktoś zna jakieś poradniki które mogłyby mi pomóc to będę wdzięczny. Chciałbym też jednocześnie powiedzieć, że wcale nie muszę ukończyć zrobienia tej gry, po prostu wybrałem to sobie jako przykład aby trochę się wmiksować w skrypty i składnie GML 1,2, niewiem jesli symbole bedom objekty bo mogo byc tylko sprite, ale radze zaplanowac kontrole v ds_grid jak poczytasz sobie help poznasz ze to bardzo fajna datowa structura :) oczywisce mozna i array jesli tak zrobisz to nietrza sprawdzac instancje(objekty z GM teraz dane do room) na pozycjach x,y ale tylko przesowasz instancje wedlog danych z datowych structur. naprz. dla 3 reel slot: 1, losujesz typ symbolu dla kazdej kolumny i linijky a1, b1, c1 a2, b2, c2 a3, b3, c3 2, zapisujesz do ds_ (data structure napr ds_grid, lub array) 3, czyscisz screen od nieportzebnych rzeczy(starych instancji symboli) 4, tworzys instancje wylosowanych symboli wedlog ds_ 5, sprawdzasz zgodnoscz na wszystkich symboli w pozycjach mozliwej wygranej 6, pokazujesz vynik, liczsysz punkty, itp. 7, i odnova goto 1, w tym wypadku mozna poloczyc 3, i 4, jesli zamiast instance_destroy i instance_create uzyjesz instance_change Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się