Skocz do zawartości

Zablokowane Platformówka, a obracanie sprita


ZyperPL

Rekomendowane odpowiedzi

Elo..

Robię własny od nowa silnik do platformówki i nie wiem jak zrobić, że gdy jestem obrócony w prawo sprite obraca się w prawo, a gdy w lewo to lewo :P

Wiem, że to prosto jest zrobić, tylko zapomniałem jak.. W grze topdown to jest prostrze :P

 

I tak przy okazji, jak zrobić, wystrzeliwanie pocisku w stronę myszki. Znaczy..

 

Mam lufę przy postaci, która obraca się w stronę gracza. I gdy nacisnę lewy klawisz myszki pojawia się pocisk, który leci tam gdzie była obrócona lufa.

Ustawić w Create?

Odnośnik do komentarza
Udostępnij na innych stronach

1.Musisz się pobawić point_direction, kątami i warunkami.

2.W create pocisku dajesz point_direction na celownik, speed itp., ale nie w step bo wyjdzie śmiesznie.

 

edit 1:

i jeszcze w playerze musisz dać event np. left mouse button i tworzenie pocisku.

 

edit 2:

chyba dziwnym zbiegiem okoliczności zacząłeś robić ten silnik, nieprawdaż ?

Odnośnik do komentarza
Udostępnij na innych stronach

GML (keyboardkeypressed)
//strzelanie

bull=instance_create(x,y,pocisk)

bull.direction=direction

bull.speed=5

 

E:

 

GML (step)
if keyboard_check(vk_left)//chodzenie w lewo

{

x-=5

image_xscale=-1

}

else if keyboard_check(vk_right)//chodzenie w prawo

{

x+=5

image_xscale=1

}

Odnośnik do komentarza
Udostępnij na innych stronach

GML (step)
if keyboard_check(vk_left)//chodzenie w lewo

{

x-=5

image_xscale=-1

}

else if keyboard_check(vk_right)//chodzenie w prawo

{

x+=5

image_xscale=1

}

 

Ten kod nie jest poprawny bo gracza będzie można obrócić a celownik zostanie po drugiej stronie,

wtedy gracz będzie strzelał z pleców.

Odnośnik do komentarza
Udostępnij na innych stronach

może to:

GML
x=hero.x

y=hero.y

image_angle=direction

direction=point_direction(x,y,x_mouse,y_mouse)

bull=instance_create(x+lengthdir_x(sprite_width/2,direction),y+lengthdir_y(sprite_height/2,direction),o_pocisk)

bull.direction=direction

bull.speed=5

to w objekt okarabin

Odnośnik do komentarza
Udostępnij na innych stronach

Omg, dobra będę litościwy, zrób, że gun obraca się do myszki, zrób dwa obrazki w spricie,

jeden normalnie a drugi do góry nogami,

potem w step:

 

if gun.image_angle>90

{

image_index=1

}

 

if gun.image_angle<270

{

image_index=1

}

 

if gun.image_angle<90

{

image_index=0

}

 

if gun.image_angle>270

{

image_index=0

}

 

edit:

i jeszcze zrób, że player image_index=gun.image_index ale przedtem musisz zrobić dwa obrazki w spricie

gracza - w lewo i w prawo.

Odnośnik do komentarza
Udostępnij na innych stronach

Użyłem kodu TheMarcoQ, ale musiałem troszkę to pozmieniać, bo nie działało jak powinno ;)

To obracanie zrobiłem też, dzięki wam za "image_xscale" bo właśnie o tym zapomniałem. Tylko dlaczego, gdy nacisnę w lewo postać się odwróci, ale gdy puszczę wraca na swoją pozycję, a nie zostaje tak jak jest? :/

Odnośnik do komentarza
Udostępnij na innych stronach

Użyłem kodu TheMarcoQ, ale musiałem troszkę to pozmieniać, bo nie działało jak powinno ;)

To obracanie zrobiłem też, dzięki wam za "image_xscale" bo właśnie o tym zapomniałem. Tylko dlaczego, gdy nacisnę w lewo postać się odwróci, ale gdy puszczę wraca na swoją pozycję, a nie zostaje tak jak jest? :/

 

pokaz co tam pozmieniales ;)

Odnośnik do komentarza
Udostępnij na innych stronach

No jak to co, to, żeby nie strzelało cały czas, bo to musi być w Stepie. Zrobiłem, że gdy naciskam lewy klawisz myszki i jeszcze wymiary nie pasowały :P

Znaczy się x i y.

 

Oczywiście nazwy obiectów też złe, bo skąd miał wiedzieć jakie ja mam.

Koniec :P

 

Teraz lepiej pomóż, nie offtopuj :P

 

Edit:

I jeszcze nie x_mouse i y_mouse, tylko mouse_x i mouse_y :)

Odnośnik do komentarza
Udostępnij na innych stronach

Tworzysz sprity skoku w lewo i prawo i dopisujesz if:

GML
if ! place_free(x,y+1)

{

vspeed = -jump

if(sprite_index==stoi_prawo||sprite_index==idzie_prawo)

sprite_index=postac_skacze_prawo;

else if(sprite_index==stoi_lewo||sprite_index==idzie_lewo)

sprite_index=postac_skacze_llewo;

}

Odnośnik do komentarza
Udostępnij na innych stronach

To samo..

Nie działa :/

Może dlatego, że mam tam pełno pozmienianych tych rzeczy :P

Robię od nowa ;)

Dzięki wszystkim za pomoc, jakby znowu nie działało, to napiszę tutaj i spróbujemy rozwiązać ten problem.

A tego strzelania jednak nie zrobię, bo wygląda to nienaturalnie w mojej grze :>

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...