Skocz do zawartości

Game Maker Tutorial


Rekomendowane odpowiedzi

Tytuł:Game Maker Tutorial

Autor:Ja (+dekoder bloków autorstwa bacy)

 

Nie wiedziałem, gdzie to wsadzić więc wsadziłem tu, a co do szablonu, trudno dopasować :) Niech ktoś przeniesie jeżeli źle.

 

 

Game Maker Tutorial jest to tutorial dla kompletnie zielonych, o programowaniu w GM. Będzie prawdopodobnie kontynuacja. Tutorial uczy raczej samego zrozumienia game makera.

 

Download: https://gmclan.org/up8075_3_Game_Maker_Tutorial4febd.html

Waga: ok. 1mb(spakowany)

Odnośnik do komentarza
Udostępnij na innych stronach

Sherif moje potknięcia to co innego, tu uczę podstaw, dla zielonych

 

Ehem, "skopiowałem kod z forum, wkleiłem i działa, teraz nauczę innych jak to robić!". Pod takie coś mi to podchodzi ;x

Jak możesz uczyć podstaw, które sam dopiero ogarnąłeś? Generowanie mapy jest serio proste, a ty robisz przenoszenie do roomów.

Pomysł uważam za dobry, ale najpierw może ogarnij więcej z GM'a, a potem takie tutki pisz.

Odnośnik do komentarza
Udostępnij na innych stronach

1. Tekst na początku jest słabo widoczny(Tutorial po polsku uczący od podstaw robić gry w game makerze.) Czarny napis na ciemnym tle...

2. Opcja Buttonize jest dostępna tylko w wersji PRO (str. 5)

3. Czy zamiast [zmienna1] -= [zmienna2], nie powinno być zmienna-=wartosc? Powinieneś oddzielić operatory przypisania, od operatorów warunkowych ([zmienna1] += [zmienna2];, [zmienna1] => [zmienna2];) (str. 10)

4. Literówka "heath" zamiast "health". Dodaj, jak się deklaruje zmienne globalne i czym się różnią od lokalnych bo opisałeś to dopiero na ostatniej stronie... (str. 11)

5. Mówisz o warunku if, a niżej masz "składnia pętli:" i podajesz pod tym składnię instrukcji warunkowej.

Czyli if to ?jeżeli coś to coś?. Można także użyć pętli bez else.
Do naszej gry wprowadzimy najpierw pierwszą pętle.
Instrukcja warunkowa to nie pętla!(str. 12,13)

6.

Dopóki warunek ten nie będzie WYKONANY dalszy kod nie wykona się,
Powinno być "spełniony". (str. 14)

7. ort

tond
, powinno być "tąd". Dopisz, że pętla for jest tj. licznikiem (str. 15)

8. Dodaj, że "default" nie jest konieczne w "switchu" (str. 15,16)

9. Pętla Repeat,

repeat([zmienna])

{

[akcja]

}

Nie powinno być czasem [ilosc_powtorzen] zamiast [zmienna]? (str. 16)

10. Dodaj, że tablica jest czymś w rodzaju układu współrzędnych, podzielonym na komórki i w każdej komórce jest jakaś wartość. Napisz, że tablic używa się często wraz z pętlą for, np. do zainicjowania tablicy zerowymi wartościami. I najważniejsze, napisz, że tablicę ZAWSZE się indeksuje od zera! Użycie z pętlą for:

GML
//1 WYMIAR

var i;

for(i=0;i<=10;i+=1) {tablica=0;}

//2 WYMIARY

var i,j;

for(i=0;i<=10;i+=1)

for(j=0;j<=10;j+=1)

{tablica[i,j]=0;}

(str. 17)

11.

GML
draw_text(10,12,'Życia: '+string(lives));

x=view_xview;y=view_yview;

Można zrobić poprostu tak:

GML
draw_text(view_xview+10,view_yview+12,'Życia: '+string(lives));

No więcej uwag nie wyłapałem. Popraw to i wtedy poradnik pewnie się komuś przyda. :)

Odnośnik do komentarza
Udostępnij na innych stronach

Pobrałem i poczytałem. Piszesz np. uzupełniamy według uznania ( info co do autora itd. ), podaj może jakieś przykłady uzupełnienia.

Piszesz "teraz stworzymy nowy obiekt" ale nie wyjaśniasz co to ( przynajmniej nie znalazłem nic o tym ). Do tego jak wymieniasz "katalogi" po lewej, to może opisz krótko co który robi, a nie tylko przetłumaczone ;p

 

Czytałem tak na szybko.

Odnośnik do komentarza
Udostępnij na innych stronach

Dodam swoje uwagi których nie wymieniono wyżej.

Wytłumaczenie co to jest zmienna leży i kwiczy, zmienne są w każdym języku programowania więc możesz podpatrzeć jak ludzie je tłumaczą w tutorialach o innych językach. Nie napisałeś nic o poprawnym nazewnictwie zasobów i zmiennych. Na końcu nazywasz wbudowanie funkcje komendami.

Odnośnik do komentarza
Udostępnij na innych stronach

niektórych szczegółów trzeba po prostu się nauczyć samych. Tąd poprawił mi open ofice na tond,ale poprawie spowrotem na tąd. Oólnie z uzepłnianiem jest taka faza że jak coś zmienie dajmy an to dodam jedna linijke to wszytkie obrazki niżej się rozjeżdzają. Najeżdzają na tekst itp. :/ if jako pętla to pomyłka, do poprawy. W sumei słabo opisałem chodzenie za viewem. reapet celowo tak napisałem ponieważ zmienna jest liczba, tak jagby też. o deflaut poprawie, wyknonany lepiej zrozumieją, literówka z hp do poprawy, co do buttonize niewiedziałem, dzięki za info, ale niebardzo wiem co z tym zrobić :/

Jak mówiłem, obrazki mi się rozjadą :/

Odnośnik do komentarza
Udostępnij na innych stronach

co do repeat to moze ktoś chce zmienną? A takto pomyślą że nie wolno wpisywać zmiennych tylko liczby.

To napisz, że może to być liczba lub zmienna, z dopiskiem: "wartość zmiennej MUSI BYĆ LICZBĄ".

BTW.

wszytko in 1

"All in one" jak coś :P

 

@EDIT Błąd ;p (str. 12)

GML
if(kasa=>100)

{

batonik+=1;

score-=100;

}else

{

show_message('Nie masz kasy');

};

Jeśli masz tyle kasy to odejmij score? Zamiast "kasa" daj "score" albo na odwrót.

 

Dalej operatory przypisania nie są oddzielone od operatorów warunkowych i logicznych.

 

@EDIT 2 Nie napisałeś czym się różni zmienna lokalna od globalnej w odpowiednim rozdziale(jest dalej na samym końcu) oraz nie ma deklaracji zmiennej(całkiem nowi mogą nie wiedzieć)

Odnośnik do komentarza
Udostępnij na innych stronach

Ten poradnik jest jak kartridż do pegazusa/famicoma/nes'a o nazwie 999 999 in 1 czyli kilka podstawowych gier z hackami.

Skoro nie rozumiesz optymalizacji, nie potrafisz zrobić generatora i w ogóle to po co piszesz poradnik?! Huder w godzinę napisałby sto razy lepszy poradnik!!! Nie mówiąc już o AnTy'm, Uzjelu, Tymonie, Gnysku, Ranmusie i całej reszcie. Lepiej to im zostawić pisanie poradników, bo na razie to twój poradnik początkującym zrobi kiełbie we łbie.

Odnośnik do komentarza
Udostępnij na innych stronach

Sherif po 1:

Nie podlizuj się im.

 

po 2:

Gdybym każdy czas mówił, że ktoś to zrobi lepiej, więc nie robi to np: tylko chuck norris łapał by przestępców ;)

 

po 3:

Sam nie zrobiłeś lepszego ;)

 

po 4:

kiełbasę zamiast mózgu to masz ty ;)

 

Pozostałe błędy poprawiłem, jak za updatuje napisze wam.

 

@Edit już update poszedł, zapraszam do downloadu ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Kiełbie to nie znaczy kiełbasa w tym kontekście! Poza tym nikomu się nie podlizuję tylko stwierdzam fakty, a nikt z nich takiego tutoriala nie napisał i nie napisze, bo nie mają czasu. Jak zrobisz optymalizację i generator świata to pogadamy(przy okazji jak już sam zrobisz to wyślę Ci mój robiony 2 lata temu).

Odnośnik do komentarza
Udostępnij na innych stronach

To ktoś musi mieć czas. A co się czepiasz tego gena? Matka Cię nie ogrneła? Nie piszę jak zrobić gen tylko jak wogóle ogarnąć GM. A ja niechce gena !!! DZiecko nagrałeś sie w mc i teraz wymyślasz. Wzorowałem się na block minerze, który nie ma gena. A wogóle gena zastąpiłem innym bajerem, ale jeszcze niekończyłem nowej wersji. Ale my tu gadamy o tutku a nie o moich grach, to co mam założyć nowe konto? Wtedy nikt mnie nie bd ocenia po grach tylko po tutku :/

Inni jakoś potrafią powiedzieć co jest źle a ty mówisz jest źle ale czemu to mwisz że nieumiem gena robić. Skoro to nie jest o genach to podaj jakiś normalne powody dlaczego jest niby do bani.

"(przy okazji jak już sam zrobisz to wyślę Ci mój robiony 2 lata temu)."

Teraz nie wyślesz bo dopiero piszesz żeby pokazać żeby nie było że tylko ja na to wpadłem ?

Zazdrościsz i tyle. Choć to jest słabe, ale dla cb widać dzieło sztuki ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Piszesz np. uzupełniamy według uznania ( info co do autora itd. ), podaj może jakieś przykłady uzupełnienia.

Roki tam obok jest screen i pisze "tłumaczenie"

 

uczepiles sie tego generatora -.- moze nauczyc podstaw, skoro je umie, zeby nauczyc tabliczki mnozenia nie trzeba umiec (tutaj jakas fachowa nazwa matematyczna, zabraklo mi weny)

nic dodać nic ująć

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Ale to będzie jeszcze w tej dekadzie?

 

Primo - to z lewej, to drzewo zasobów (resource tree). Zasoby można tworzyć też poprzez PPM na głównych węzłach drzewa.

:Visible when room starts:, to nie jest :używaj jako domyślnego:, ale "widoczny po uruchomieniu gry" - bo można viewy też włączać/wyłączać w trakcie.

Większy, bądź równy to >= a nie =>. Zmienna jest różna, poza != to także <>. Znak równości w GM działa także do porównań i to jest warte wspomnienia - w innych językach if a = 0 zwraca true (bo przypisanie zwraca prawdę), a w gm zwróci false (bo wykona if a == 0).

W pętli while nie musi występować operator. Może ona wyglądać tak:

GML
while (true) {if 1 != 2 then break;}
.

Kod nie wykonuje się średnio 1/klatkę. On wykonuje się room_speed razy na sekundę (lub fps razy na sekundę gdy mamy do czynienia z przepełnieniem operacji w jednym kroku).

Pętla for to: wartośc początkowa; warunek sprawdzany po przejściu pętli; wyrażenie wykonywane po przejściu pętli;. Pętla wykonywana jest tak długo, jak warunek jest prawdziwy.

Pętla repeat to pętla for w tej postaci:

GML
for (i=0; i<LICZBA; i+=1)
.

Obiekt przestaje rysować sam siebie, gdy istnieje event draw z obojętną akcją, a nie gdy mamy funkcję draw_xxx. Po prostu domyślnie, gdy nie mamy nic w evencie draw, GM podstawia tam domyślny kod (czyli tak naprawdę ten event nigdy nie jest pusty. Tekst i string niczym się nie różni. Albo podajesz tekst bezpośrednio do funkcji, albo przez referencję uzywając zmiennej. Funkcja string() rzutuje liczby na tekst. Zamiast ustawiania w evencie draw pozycji x i y, proponuję

GML
draw_text(view_xview[0]+10, view_yview[0]+12,12,'Życia: '+string(lives));
Nie trzeba klikać ALL dla czionek - zakres od 0 do 32 i tak nie zawiera liter - zatem mozna wpisać 32 - 255.

 

To tak na szybko. Poza tym, język fatalny.

Odnośnik do komentarza
Udostępnij na innych stronach

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...