Skocz do zawartości
JuliuszMakeGames

Silnik porusznia samochodów

Rekomendowane odpowiedzi

Witam ostatnio znalazlem poradnik jak zrobic poruszanie sie samochodem w stylu GTA 1,2 ale niestety nie dziala on u mnie w 100% i czy ktos moglby napisac dla mnie kod ktory dzialal by jak w GTA 1,2?

Sam nie mam doswiadczenia potrzebnego do stworzenia go od postaw.

 

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Chcesz żeby 50% gry za Ciebie zrobić? Za darmo na nikogo nie licz, to nie jest 5 minut roboty...

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

No hej tam po drugiej stronie moniotra :bye1:

 

Skoro, jak sam przyznałeś, że nie masz jeszcze doświadczenia aby stworzyć taki silnik od podstaw, to pora aby się nauczyć ^_^

Jest tu wiele mądrych głów (nie wliczam w to siebie :lol: dopiero zaczynam bardziej rozumieć GML). Na początku zrób coś małego, zacznij od podstaw takiego silnika. Pomogę Ci (tak jak wielu innych ludzi na tym forum) ale nie napisze za Ciebie kodu, musisz sam trochę pomyśleć.

 

Możesz sobie wypunktować zadania:

1. Narysuj samochód (koniecznie ustawiony w prawo)

2. Pomyśl, jakie zmienne będą Ci potrzebne:

a) speed - prędkość

B ) direction - kierunek

c) image_angle - kierunek obrotu sprite'u

 

3.Programuj (tak wiem, że duży przeskok pomiędzy punktami). Napisze dla Ciebie skrawek kodu, a Ty spróbuj uzupełnić:

 

GML
image_angle = direction; //obracanie samochodu wzgledem kierunku jazdy

if(keyboard_check(ord("W"))) // Jesli nacisniemy W

{

dopisz coś

}

 

if(keyboard_check(ord("S"))) // Jesli nacisniemy S

{

dopisz coś

}

 

if(!keyboard_check(ord("W")) and !keyboard_check(ord("S"))) // Jesli NIE naciskamy ani W ani S

{

if(speed > 0) then dopisz coś

if(speed < 0) then dopisz coś

}

 

 

//Kierunek ruchu - prawo/lewo

if(keyboard_check(ord("A")))

{

dopisz coś

}

 

if(keyboard_check(ord("D")))

{

dopisz coś

}

Na dobry początek powinieneś otrzymać mniej więcej taki wynik: https://drive.google.com/open?id=0By6jjYnhZ...d19YWEZRWEUtdGM

 

 

Myślicie, że to dobry sposób na tłumaczenie? Czy lepiej dać mu już lepszy kod do ogarnięcia? Wydaje mi się, że bardziej podstawowo nie można napisać poruszanie się samochodem :mellow:

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

A co do przyśpieszania to można zrobić to tak

GML
///create

sec=0; //zmienna która okresla nam sekundy

///step

if keyboard_check(vk_up)

{

sec+=1/room_speed; //właczenie liczenia czasu do gry.

if sec>=1 {mv_s=1}

if sec>=1.5 {mv_s=2} // z czasem nasza predkosc sie zwiększa

if sec>=2 {mv_s=3}

if sec>=2.5 {mv_s=4}

if sec>=3 {mv_s=5}

}

 

//oczywiście można by było to zrobić pętlą,wtedy nie było by tech 5 if,jednak ja boję się pętli -_-

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Bardzo dziekuje o to wlasnie mi chodzilo, dzieki wam wiem jak taki silnik zrobic samemu dziekuje bardzo

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Patryk po co taka skokowa akceleracja bo nie rozumiem?

Btw sec powinien gdzieś się resetować

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Patryk po co taka skokowa akceleracja bo nie rozumiem?

Btw sec powinien gdzieś się resetować

Pisałem szybko,nawet nie w GM,bo wiem że będzie działać.Liczby zawsze można zmniejszyć,a na dodatek pętlą :crying: na pewno można to lepiej zrobić.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

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

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×