Skocz do zawartości
  • 0
Ice Cube

Kolizje 3d

Pytanie

Hej korzystam z takiego fajnego prostego silnika 3d

 

 

i staram sie go rozkminić ile moge

 

ale mam problem z opanowaniem lepszej kolizji(bo ta z tego projektu jest daremna..)

 

tzn. w tym projekcie czy idziecie prosto,czy skrecacie na boki i jest kolizja ze sciana zawsze jest x=xprevious , y=yprevious

 

jak zrobić osobną kolizje na przód, tył

 

oraz osobno na lewo,prawo.

 

 

 

poruszanie sie przód,tył - speed+1 , speed -1

 

 

 

poruszanie sie na boki:

PRAWO

{

var xn,yn;

xn = x + sin(direction*pi/180);

yn = y + cos(direction*pi/180);

{ x = xn; y = yn; }

}

 

LEWO:

{

var xn,yn;

xn = x - sin(direction*pi/180);

yn = y - cos(direction*pi/180);

{ x = xn; y = yn; }

}

 

 

 

 

w grach 2d stosowalem if_place free.... i działało rewelacja ,ale tu nie ogarniam :( pomocy

 

 

 

 

 

 

 

 

 

 

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

7 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 1

Polecam artykuł buttery smooth movement z newsów odpalających się z game makerem.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 1

o jeju nostalgia. Ten .gmk z poradnika był zawsze moim punktem wyjściowym gdy robiłem coś w 3D. Pytanie nieco dziwnie sformułowane, ale podejrzewam, że chodzi po prostu o takie coś w stepie:

 

GML
if keyboard_check(vk_up) or keyboard_check(vk_down) {

///kod na kolizje gdy idziesz do przodu lub tylu

}

 

if keyboard_check(vk_left) or keyboard_check(vk_right) {

///kod na kolizje gdy idziesz w lewo lub prawo

}

samą kolizję możesz oprzeć na funkcji place_meeting(x, y, ob). Dla mnie w 3D jest wygodniejsza

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0
Dnia 2.08.2017 o 23:42, Czołg Krymski napisał:

o jeju nostalgia. Ten .gmk z poradnika był zawsze moim punktem wyjściowym gdy robiłem coś w 3D. Pytanie nieco dziwnie sformułowane, ale podejrzewam, że chodzi po prostu o takie coś w stepie:

 

 

GML
if keyboard_check(vk_up) or keyboard_check(vk_down) {

///kod na kolizje gdy idziesz do przodu lub tylu

}

 

if keyboard_check(vk_left) or keyboard_check(vk_right) {

///kod na kolizje gdy idziesz w lewo lub prawo

}

samą kolizję możesz oprzeć na funkcji place_meeting(x, y, ob). Dla mnie w 3D jest wygodniejsza

no wlasnie chodzi mi o ten  kod na kolizje abyscie mi napisali ;)

 

bo mam tylko 

jezeli player ma kolizje ze sciana x=xprevious,y=yprevious

ale to jest klopotliwe czesto player "przykleja" sie do sciany

 

chodzi o to by uwzglednic direction(tak mi sie wydaje)

 

bo jezeli podchodze do sciany pod kątem i mam np. direction117 to powinienem isc dalej do przodu,ale lekko sie odbijac od sciany

a ja jak podchodze do sciany pod kątem,to poprostu player sie przykleja do niej i stoi w miejscu

muszy wtedy isc do tyłu lekko skrecic i znowu do przodu

 

HELP!

 

 

 

 

 

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0

Nic za Ciebie nie napiszemy. Dostales ode mnie informacje jak dostac sie do obszernego artykulu ktory uczy krok po kroku jak to zrobic i olales to. Jak jestes tak leniwy moze to za wysokie progi na Twoje nogi? Sprobuj cos latwiejszego az ogarniesz lepiej gm'a.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0

Jezeli uzywasz tylko scian do siebie prostopadpych, to mozesz po prostu w kolizji ze scianą dlugą w Y zostawic samo x=xprevious i analogicznie dla sciany dlugiej w X

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  • 0
Dnia 4.09.2017 o 20:15, I am vader napisał:

Nic za Ciebie nie napiszemy. Dostales ode mnie informacje jak dostac sie do obszernego artykulu ktory uczy krok po kroku jak to zrobic i olales to. Jak jestes tak leniwy moze to za wysokie progi na Twoje nogi? Sprobuj cos latwiejszego az ogarniesz lepiej gm'a.

I AM VADER dzieki za dobra podpowiedz i reprymende! :) walczylem z tym artykułem sporo czasu i ogarnalem :) działa!!

 

czekaj na moje kolejne trudne pytania :P 

 

:) Pozdro

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

×