Skocz do zawartości

Zablokowane PRZESTRZENNA PLANSZA


Rekomendowane odpowiedzi

dzieńdobry.

mam pytanie odnośnie ruchu postaci na ,,przestrzennej'' planszy... udało mi sie już ustawić ruch postaci do przodu, ukośnie do góry zgodnie z strzałkami... w sumie w wszystkich kierunkach. ze skokiem też jest dobrze. problem tkwi w w krawędziach planszy.kiedy postać podchodzi do dolnej krawędzi, ślizga się w poziomie (szybko porusza sie w lewo przy wciśnięciu klawisza w dół).

 

podsumowanie:

hejho.png

 

Uploaded with ImageShack.us

 

-wciskając klawisz np. strzałka prawo [ -> ] postać porusza sie zgodnie z kierunkiem wskazanym przez czerwoną strzałke

-wciskając strzałki kolejno prawo, prawo+góra,prawo+dół,prawo+góra -postać porusza sie zgodnie z kierunkiem wskazanym przez fioletową strzałke

-wciskając klawisz dół i dochodząc do krawędzi planszy (na obrazku żółto-czarna linia) postać ,,ślizga" sie w poziomie ( po odpuszczeniu klawisza pstać zatrzymuje sie)

Odnośnik do komentarza
Udostępnij na innych stronach

-wciskając klawisz np. strzałka prawo [ -> ] postać porusza sie zgodnie z kierunkiem wskazanym przez czerwoną strzałke

GML
if keyboard_check(vk_right) x+=5

-wciskając strzałki kolejno prawo, prawo+góra,prawo+dół,prawo+góra -postać porusza sie zgodnie z kierunkiem wskazanym przez fioletową strzałke

GML
if y<(położenie linii dolnej) && y>(a tu górnej)

{if keyboard_check(vk_up) y-=5

if keyboard_check(vk_down) y+=5}

Odnośnik do komentarza
Udostępnij na innych stronach

dwa pierwsze myślniki to to co działa dobrze- myślałem że z rysunkiem będzie czytelnie

 

trzeci opisuje błąd... przy wciśnięciu klawisza w dół postać kieruje sie w dół a dokładniej do dolnej krawędzie( na obrazku dolna krawędź ma kolor żółto czarny), gdzie powinien sie zatrzymać... zamiast tego gdy trzymam przycisk strzałka w dół postać zaczyna zjeżdzać w pozimie ( dokładnie w lewo)

 

... nie jestm... programistą kożystam z wersji podstawowej programu... skladam sobie wydarzenia z

klocków

Odnośnik do komentarza
Udostępnij na innych stronach

to według mnie rozwiązuje twój problem

 

 

marku- przyjacielu ... nie wiem czy dobrze to odczytuje, ale to co napisałeś oznacza że przy naciśnięciu klawisza góra albo dół postać poruszy sie w odpowiednim kierunku... to mam ustawione... nie chodzi o sterowanie postacią... chodzi prawdopodobie o ustawienie grawitacji... albo interakcje pomiędzy obiektem sterowanym a daną powierzchnią

Odnośnik do komentarza
Udostępnij na innych stronach

konradzie dziękuje za wyciągnięcie pomocnej dłoni

 

informacje o postaci

 

załączam jeszcze informacje o drugim ważnym obiekcie- dzięki niemu właśnie postać porusza sie po planszy tak jak tego chce... nie wiem czy ktoś już na to wpadł, ale pomył jest prosty. ten obiekt to długa na calą plansze pozioma linia (nazwałem ją klocek), znajdująca sie bezpośrednio pod bohaterem, poruszająca sie tylko w pionie zgodnie z jego ruchem ( bohater idze do góry- linia też, bohaterw dół linia też, bohater do przodu linia stoi w miejscu, do tyłu to samo, spacja bohater skacze a linia stoi w miejscu-dzięk grawitacji bohater opada na linie)

 

informacja o linii (klocek)

 

Odpowiesz wreszcie, o co chodzi na temat:

 

?

 

 

oł...przepraszam assassin... nie zauważyłem przez tą ramke z cytatem... oczywiście chodzi o pozbycie sie owego zjeżdżania (zślizgiwania sie)... chce żeby postać po dojściu do krawędzi planszy zatrzymała sie

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

... bo bez grawitacji postać nie będzie skakać?... wiedziałem że czytanie info przez kogoś kto nie widzi efektów może sie na niewiele zdać... mógłbym umieścić to co zrobiłem (moją ,,grę") w interne... albo na tej stronie(?) jeśli to możliwe.... zależy mi na tym żeby grę zrobić zgodnie z planem (zero kompromisu)... w sumie jak na laika to i tak nieźle mi idzie... dzięki za próbę pomocy konradzie...jeżeli będę miał czas to zamieszcze jutro gre w internecie i dam link.. także GM-fachowcy w ciągu dalszym prosze o pomoc

 

POŁĄCZONO:

 

o i nikt nie napisał. w sumie nie szkodzi, już nie potrzebuje pomocy... bynajmniej jeżelichodzi o to zagadnienie... dziękuje wszystkim, którzy sie udzielili :>)

 

POŁĄCZONO:

 

pojawił sie kolejny problem...w ciągu dalszym związany z tematem, ale tym razem chodzi o zmiane sprites.Przy skoku [press space] ustawiłem zmiane sprites, ale po puszczeniu wszystkich klawiszy w czasie gdy postać znajdowała sie w powietrzu, sprite zmieniał sie na ten ustawiony dla 'bezruchu'... dlatego ustawiłem dla akcji -keybord <no key> przy założeniu, że postać znajduje sie w powietrzu zmiane sprites na inny (spada) oraz przy zetknięciu z solid object zmiane sprites na -spr stop prawo-. i tu tkwi problem, bo po wciśnięciu klawisza [lewo] i puszczeniu go postać i tak odwaca sie w prawo (dodam, że [lewo release] mam ustawione -sprites stop lewo)

 

problem niby błahy,ale... to pozwala mi liczyć na szybką i skuteczną interwencje :lol2:

Odnośnik do komentarza
Udostępnij na innych stronach

Jeżeli dobrze zrozumiałem to chcesz zmieniać sprita w zależności od wciśniętej wcześniej strzałki> lewo albo prawo.

pokaż kod czy tam object info tego momentu:

dlatego ustawiłem dla akcji -keybord <no key> przy założeniu, że postać znajduje sie w powietrzu zmiane sprites na inny (spada) oraz przy zetknięciu z solid object zmiane sprites na -spr stop prawo-. i tu tkwi problem, bo po wciśnięciu klawisza [lewo] i puszczeniu go postać i tak odwaca sie w prawo (dodam, że [lewo release] mam ustawione -sprites stop lewo)
Odnośnik do komentarza
Udostępnij na innych stronach

GML
if place_free(x,y+1)

{sprite_index=spr_skok}

?

 

E: a tu podrasowane:

GML
if !place_free(x,y+1)

{

if keyboard_check(vk_left)

{sprite_index=spr_lewo}

else if keyboard_check(vk_right)

{sprite_index=spr_prawo

}

else if place_free(x,y+1)

{sprite_index=spr_skok}

Odnośnik do komentarza
Udostępnij na innych stronach

no to masz całe chodzenie:

GML
if !place_free(x,y+1)

{

if keyboard_check(noone)

{sprite_index=stoi_prosto}

else if keyboard_check(vk_left)

{sprite_index=spr_lewo;x-5}

else if keyboard_check(vk_right)

{sprite_index=spr_prawo;x+5}

else if keyboard_check(vk_up)

{vspeed=-5}

}

else if place_free(x,y+1)

{sprite_index=spr_skok}

Odnośnik do komentarza
Udostępnij na innych stronach

Themarcq, dalej go nie zczaiłeś.

 

Masz animacje dwukierunkowe, czyli stoi - w lewo oraz w prawo.

 

I on teraz chce, żeby po upadku od skoku on się ustawił odpowiednio, w lewo i w prawo, w zależności od kierunku z którego wyskoczył lub kierunku lotu w powietrzu (albo jedno albo drugie).

 

Jak masz zrobione z obrotem spritów ?? Masz dwa osobne na lewo/prawo, odwracasz w draw, czy jak ?
Odnośnik do komentarza
Udostępnij na innych stronach

tak jest, assassin dobrze mówi... całe sterowanie działa poprawnie. info akcji objektu:

 

Keyboard Event for <no key> Key:

 

COMMENT: Check whether in the air

set the sprite to spada with subimage -1 and speed 0.1

else

if relative position (0,1) gives a collision with Only solid objects

set the sprite to stop p with subimage -1 and speed 0.1

 

tu właśnie nie wim co zrobić... wstawianie drugiego else i if relative (0,-1) ze zmianą sprites nie daje efektu... przypominam też, że keyboard release <left> jest ustawiony... najwyraźniej ta funkcja wyłącza sie przy keyboard <no key> (co z resztą jest całkiem logiczne)

 

nie chce zrezygnować z tego eventu, ponieważ prosze sobie wyobrazić... chwale sie grą przed bratem a ten podczas grania wciska space i nagle, z niewiadomych przyczyn, zdejmuje palce z klawiatury... i co widzi? widzi, że postać spada ze sprites swobodna stojąca pozycja... sam bym sie zaśmiał :lol:

________________________________________________________________________________

________

kurcze, przepraszam za zawracanie głowy... rozwiązanie problemu było oczywiste, teraz widze to wyraźnie. nie potrzebowałem keyboard<no key>. wystarczyło wszystko z tego eventu przypisać dla poszczególnych release <lewo>, <prawo> i dodać odpowiednie sprites.

przepraszam, jakoś mi to po prostu umkneło. musze zacząć sie wcześniej kłaść

 

dzięki jeszcze raz...

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