Skocz do zawartości

Od której strony dotykam bloczku?


Roki

Rekomendowane odpowiedzi

Ehh.. no więc dałem kolizja z blokiem:

GML
with(other) //Sprawdzanie pozycji

{

if xelse

if x>objBlockNormal.x then lewa = false and prawa = true and gora = false and dol = false

else

if y>objBlockNormal.y then gora = true and dol = false and prawa = false and lewa = false

else

if y}

A step gracza:

GML
//Chodzenie

if gora = true and dol = false

{

if keyboard_check(vk_left)

{

x-=4

sprite_index = sprTankLeft

}

else

if keyboard_check(vk_right)

{

x+=4

sprite_index = sprTankRight

}

}

else

if gora = false and dol = true

{

if keyboard_check(vk_left)

{

x-=4

sprite_index = sprTankLeftUp

}

else

if keyboard_check(vk_right)

{

x+=4

sprite_index = sprTankRightUp

}

}

else

if prawo = true and lewo = false

{

if keyboard_check(vk_left)

{

y-=4

sprite_index = sprTankGoingUpRight

}

else

if keyboard_check(vk_right)

{

y+=4

sprite_index = sprTankGoingDownRight

}

}

else

if prawo = false and lewo = true

{

if keyboard_check(vk_left)

{

y+=4

sprite_index = sprTankGoingUpLeft

}

else

if keyboard_check(vk_right)

{

y-=4

sprite_index = sprTankGoingDownLeft

}

}

else

if keyboard_check(vk_nokey)

{

speed=0

}

 

Ale nie działa :/

Odnośnik do komentarza
Udostępnij na innych stronach

Powiedz nam co chcesz osiągnąć. Czy to sprawdzanie, po której stronie bloczku jesteś potrzebne ci tylko do tego by gracz się nie mógł ruszać w stronę bloczku?

Ten twój kod wydaje się bez sensu.

 

EDIT:

Jeśli o to ci chodzi to zrób to po prostu mniej więcej tak:

 

GML
if(keyboard_check(vk_left) && !place_meeting(x-4,y,bloczek))

x-=4;

else if(keyboard_check(vk_right) && !place_meeting(x+4,y,bloczek))

x+=4;

Odnośnik do komentarza
Udostępnij na innych stronach

Acha, no to wtedy....

 

GML
if keyboard_check(vk_right)

{

if !place_meeting(x+ileśtam,y,o_blok) then x+=ileśtam

if place_meeting(x+ileśtam,y,o_blok) then <akcja wspinaczki>

}

Pisałem z głowy jakby co. W taki sposób próbowałeś?

Odnośnik do komentarza
Udostępnij na innych stronach

//kolizja z bloczkiem

GMLif(bloczek.x > x) y += sprite_get_height(blok); sprite_index = wchodz_lewo

else y += sprite_get_height(blok); sprite_index = wchodz_prawo

powinno działać

aha jeszcze schodzenie

czekaj bedzie problem...

mam

GML
if(keyboard_check(vk_left))

{

if(y > bloczek.y)

{

y -= sprite_get_height(s_blok)

sprite_index = schodz_lewo

}

else

{

y += sprite_get_height(s_blok)

sprite_index = wchodz_lewo

}

}

if(keyboard_check(vk_right))

{

if(y > bloczek.y)

{

y -= sprite_get_height(s_blok)

sprite_index = schodz_prawo

}

else

{

y += sprite_get_height(s_blok)

sprite_index = wchodz_prawo

}

}

i powinno śmigać

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