Skocz do zawartości

Highscore web, random objects


Rekomendowane odpowiedzi

Witam, robię gierkę, w której chodzi o to żeby zdobyć jak największą ilość punktów. Zakładamy że nasz room wynosi 640x480 i w tym oknie pojawiają się objecty typu bomba, duch itd. Naszym zadaniem jest je zestrzelić.

Jestem totalnie zielony co do GML, więc jak ktoś ma jakieś poradniki do języka to chętnie obejrzę :P

1. Potrzebuję kod na pojawianie się obiektów w obrębie pokoju (co 5 sec obj1, 10 sec obj2)

2. Kiedy obj1 wynosi ponad 15sec w pokoju niech się zniszczy i odejmie 15pkt

3. Na sam koniec najtrudniejsze. http://www.gmclan.org/index.php?czytajart=56 Ten przykład jest akurat błędny, ale gdyby ktoś miał chęci napisania przykładu, to wielkie dzięki.

 

Wiem, że dużo wymagam, ale jestem zielony w kodzie GML. Chciałbym się nauczyć tylko, że nie ma takiego ogólnego poradnika od 0 do programisty.

Proszę o zrozumienie mnie i napisanie jak najprostszego kodu dla mnie żebym rozkminił xD

Odnośnik do komentarza
Udostępnij na innych stronach

1. create

GML
alarm[0]=room_speed*5

alarm[1]=room_speed*10

alarm[0]

GML
instance_create(random(room_width),random(room_height),obj1)

alarm[0]=room_speed*5

alarm[1]

GML
instance_create(random(room_width),random(room_height),obj2)

alarm[1]=room_speed*10

2. create:

alarm[2]=room_speed*15

alarm[2]:

punkty-=15

instance_destroy()

Odnośnik do komentarza
Udostępnij na innych stronach

Co do trzeciego pytania to sobie odpuść. Nie jest to zagadnienie dla początkujących. Mam prawie skończony artykuł na ten temat który miałem opublikować w grudniu. Może się zbiorę i go w końcu skończę.

Odnośnik do komentarza
Udostępnij na innych stronach

tu jest mozes popartzec jak jest zrobione tworzenie bomb przez current_time a nisczenie bomb przez alarm :)

GML
Information about object: o_kontrola

 

Sprite: <no sprite>

Solid: false

Visible: true

Depth: 0

Persistent: false

Parent: <no parent>

Mask: <same as sprite>

 

Create Event:

COMMENT: wytwarza bomby w czaszowych odstepach

execute code:

 

_punkty = 0; // zeruje punkty

_max_liczba_bomb = 50; // ile moza byc bomb w roomu naraz

_czas1 = 5; // podaje ile czasu jest do stworzenia bomby (w sec)

_czas2 = 10;

_test_czas1 = current_time + _czas1*1000; // ustawi pierwszy czas do odliczania wedlog current_time(na milisec)

_test_czas2 = current_time + _czas2*1000;

 

 

Step Event:

execute code:

 

if (_test_czas1<current_time) { // test na czas bomby 1

instance_create(irandom(room_width), irandom(room_height), o_bomba_red);

_test_czas1 = current_time + _czas1*1000; // USTAWI NOWY CZAS DO KONTROLY W TESTU

};

 

if (_test_czas2<current_time) { // test na czas bomby 2

instance_create(irandom(room_width), irandom(room_height), o_bomba_blue);

_test_czas2 = current_time + _czas2*1000;

};

 

 

 

 

Draw Event:

execute code:

 

draw_text(10,10, "punkty: "+string(_punkty) ); // pozakuje ilosc puktow

______________________________________________________

 

Information about object: o_bomba_blue

 

Sprite: sprite1

Solid: false

Visible: true

Depth: 0

Persistent: false

Parent: <no parent>

Mask: <same as sprite>

 

Create Event:

execute code:

 

_czas_do_explozji= 15; // podaj czas v sec

alarm[0]=_czas_do_explozji * room_speed; // przelici czas 5 na rzeczywiste sec

 

Alarm Event for alarm 0:

execute code:

 

o_kontrola._punkty-=15; // bomba exploduje i tracisz score

instance_destroy(); // bomba jest znisczona mozna tez dodac efekty graficnze, dzwiekowe

 

Mouse Event for Left Released:

execute code:

 

o_kontrola._punkty+=50; // deaktywowana bomba dostajes punkty

instance_destroy(); // nisczy bombe mozna dodac efekt/dzwiek rozbrojenia bomby

______________________________________________________

 

Information about object: o_bomba_red

 

Sprite: sprite0

Solid: false

Visible: true

Depth: 0

Persistent: false

Parent: <no parent>

Mask: <same as sprite>

 

Create Event:

execute code:

 

_czas_do_explozji= 15; // podaj czas v sec

alarm[0]=_czas_do_explozji * room_speed; // przelici czas 5 na rzeczywiste sec

 

Alarm Event for alarm 0:

execute code:

 

o_kontrola._punkty-=15; // bomba exploduje i tracisz score

instance_destroy(); // bomba jest znisczona mozna tez dodac efekty graficnze, dzwiekowe

 

Mouse Event for Left Released:

execute code:

 

o_kontrola._punkty+=50; // deaktywowana bomba dostajes punkty

instance_destroy() // nisczy bombe mozna dodac efekt/dzwiek rozbrojenia bomby

______________________________________________________

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ę...