Skocz do zawartości

okrążenia


Rekomendowane odpowiedzi

Check pointy i zmienna w każdym obiekcie, a w obiekcie który wyświetlać okrążenia wystarczy 1 złożony warunek

Coś takiego:

GML
if((o>przeciwnik1.o+1) and (o>przeciwnik2.o+1))

{

//akcja wyświetlania

}

ale musisz to sobie przerobić bo na 100% nie działa

Odnośnik do komentarza
Udostępnij na innych stronach

masz tor "koło", nie?

 

a więc stawiasz np 4 obiekty "checkpoint" (na gorze, dole, po prawej i lewej. im wiecej tym dokladniej :P)

 

i w kolizji z nimi gracza dodajesz graczowi zmienna +1

 

i potem

if (gracz1.zmienna-gracz2.zmienna)>instance_number(checkpoint){

gracz2 odpada

}

Odnośnik do komentarza
Udostępnij na innych stronach

Im więcej checkpointów dasz tym dokładniejszy będzie tor (patrz: GeneRally)

po prostu sprawdzaj czy przeciwnik przejechał wszystkie. Przy kolizji przeciwnika (twojej też) z checkpointem zwiększ zmienną o 1. Przy ostatnim (meta) sprawdzasz czy ta zmienna ma wartość większą od liczby checkpointów. Gdy to prawda zwiększasz zmienną okrążeń o 1, a tamtą zmienną zerujesz. Musisz jeszcze załatwić problem tej kolizji bo teraz wystarczy przejechać przez pierwszy checkpoint i wrócić się na metę by zaliczyć okrążenie

Odnośnik do komentarza
Udostępnij na innych stronach

sory karolo

nie zobaczyłem tego twojego, wcześniejszego postu:P

 

punkty muszą być cztery

a jak zrobić je żeby były niewidoczne i na całej długości toru?

i jak zrobić że jak się dojedzie do pierwszego to znienna zwiększa się tylko jak dojedzie się do drugiego itd?

Odnośnik do komentarza
Udostępnij na innych stronach

Niewidocznosc:

GML (draw)
//koniecznie w draw

draw_line(-20,-20,-20,-20);

lub inny bezsensowny wpis w draw, ktory powoduje, ze domyslne rysowanie nie jest wlaczone

------------------------

rzeby zabezpieczyc sie przed jezdzeniem w nie te strone i wogole wystarczy, ze kazdy checkpoint bedzie oddzielnym obiektem i zapisywac ich id przy kolizji, wtedy przy kolizji z nastepnym dajesz warunek

GML
if (poprzedni_checkpoint_gracz=<nazwa poprzedniego checpointa>)

{zmienna_z_punktami+=1;}

else

{show_message("jedziesz w nie te manke!!!!11one!!!!11oneoen1!!11");}

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Też bez sensu, bo nadal będzie rysowany, chociaż nie widzisz go na ekranie.

Domyślnie event draw wykonywany jest z poleceniem draw_self(); Jeśli wstawisz tam własny kod, domyślny draw_self() przestaje działać. Jeśli draw ma być nie wykonywany, to wyłączay "visible". Wtedy nawet jak jest jakoś kod w tym evencie, to się nie wykonuje.

Odnośnik do komentarza
Udostępnij na innych stronach

a jednak nie działa :glare:

 

tor to koło, gra top down, są cztery objekty kontrol1, kontrol 2 itp

w create motoru

kontrol = 0

 

w stepie:

kontrol=0

kontrol+=1

if kontrol=5

kontrol+=1

if kontrol=9

kontrol+=1

if kontrol=13

kontrol+=1

 

w kolizje z kontrol1

kontrol=0

kontrol+=1

if kontrol=5

kontrol+=1

if kontrol=9

kontrol+=1

if kontrol=13

kontrol+=1

 

w kolizji z kontrol2

kontrol=1

kontrol+=1

if kontrol=5

kontrol+=1

if kontrol=9

kontrol+=1

if kontrol=13

kontrol+=1

 

w kolizji z kontrol3

kontrol=2

kontrol+=1

if kontrol=6

kontrol+=1

if kontrol=10

kontrol+=1

if kontrol=14

kontrol+=1

 

i w kolizji z kontrol4

kontrol=3

kontrol+=1

if kontrol=7

kontrol+=1

if kontrol=11

kontrol+=1

if kontrol=15

kontrol+=1

 

nalicza tylko do czterech i dalej nic

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