Husky7 Opublikowano 16 Lutego 2016 Udostępnij Opublikowano 16 Lutego 2016 Cześć :) , mam problem z poruszającymi się przyciskami: W roomie "narysowałem" jakby pokrywę konsoli nad obiektami głównymi gry, a całkowicie na wierzchu umieściłem przyciski ale już nie komendą draw_sprite, tylko po ich stworzeniu, wyznaczam pozycję: GML if room = roomKK { x = view_xview+120; y = view_yview+572; } próbowałem również z: GML if room = roomKK { mp_linear_step(view_xview+120, view_yview+572, 100, false); } ale za każdym razem gdy postać się porusza (na zasadzie gdy przycisnę odpowiedni przycisk to x = x+5) one również. Nie wiem jak pozbyć sie tego efektu :/ Byłbym wdzięczny za pomoc :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 16 Lutego 2016 Udostępnij Opublikowano 16 Lutego 2016 Dawno nie było kogoś z tym problemem. Ogółem chodzi o to że masz zepsutą kolejność wykonywania kodu. Poprawnie powinno być: Poruszenie postaci => ustawienie view => narysowanie gui. U ciebie jest błąd bo kolejność jest nie poprawna. Nie ma jednego rozwiązania. Musisz prześledzić co jest nie tak. Może musisz przestawić miejsce w którym ustawiasz view? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Husky7 Opublikowano 16 Lutego 2016 Autor Udostępnij Opublikowano 16 Lutego 2016 Aha... ok to popróbuje w takim razie :) Dzięki wielkie :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Husky7 Opublikowano 17 Lutego 2016 Autor Udostępnij Opublikowano 17 Lutego 2016 Dawno nie było kogoś z tym problemem. Ogółem chodzi o to że masz zepsutą kolejność wykonywania kodu. Poprawnie powinno być: Poruszenie postaci => ustawienie view => narysowanie gui. U ciebie jest błąd bo kolejność jest nie poprawna. Nie ma jednego rozwiązania. Musisz prześledzić co jest nie tak. Może musisz przestawić miejsce w którym ustawiasz view? View ustawiam od razu w roomie. Najpierw próbowałem przestawić kod z GML with(P1) P1.x=P1.view_xview+120 P1.y=P1.view_yview+572; np. przed ruchem postaci, lub po, w stepie. próbowałem też go przekształcić na draw_sprite ale przyciski się animują i nie umie tego zrobić :( Aktualnie dałem to do ruchu postaci: (np. ruch w prawo) GML if global.right = 1 { { sprite_index = spr_KKplayerR; image_speed = 0.2; x = x+5; with(P1) P1.x=P1.view_xview+120 P1.y=P1.view_yview+572; with(P2) P2.x=P2.view_xview+326 P2.y=P2.view_yview+548; with(P3) P3.x=P3.view_xview+348 P3.y=P3.view_yview+649; with(P4) P4.x=P4.view_xview+418 P4.y=P4.view_yview+579; with(P5) P5.x=P5.view_xview+420 P5.y=P5.view_yview+456; with(P6) P6.x=P6.view_xview+172 P6.y=P6.view_yview+458; with(P7) P7.x=P7.view_xview+126 P7.y=P7.view_yview+686; with(kkPlay) kkPlay.x=P6.x kkPlay.y=P6.y; } } else if global.left != 1 {image_index = 0; image_speed = 0;} Ale też nie działa. Cały dzień nad tym siedze i nic :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 17 Lutego 2016 Udostępnij Opublikowano 17 Lutego 2016 GML with(P1) P1.x=P1.view_xview+120 P1.y=P1.view_yview+572; Te kawałki kodu nie mają sensu. Poczytaj o adresowaniu zmiennych z innych instance. view_xview w ogóle jest globalne, no i nie jest zmienną a tablicą view_xview[0]. Wiec analizując co pokazałeś ustalam że mógłbyś chyba zrobić to tak: GML if global.right = 1 { sprite_index = spr_KKplayerR; image_speed = 0.2; x += 5; view_xview[0] += 5; P1.x=view_xview[0]+120; P1.y=view_yview[0]+572; (...) } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Husky7 Opublikowano 17 Lutego 2016 Autor Udostępnij Opublikowano 17 Lutego 2016 Ok nadrobię zaległości :) Pozamieniałem kod i działa :D ale gdy postać ma kolizję z innym obiektem, przyciski przesuwają się o tą wartość "5". Jak to można zniwelować? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 18 Lutego 2016 Udostępnij Opublikowano 18 Lutego 2016 Musisz to rozdzielić, gracza przesuwać w step a przyciski przesuwać w end step. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 18 Lutego 2016 Udostępnij Opublikowano 18 Lutego 2016 A czy czasem end step nie dzieje sie po draw? To też nie rozwiąże problemu. Najleniwsze wyjście jakie widze to zostawić kolizje przycisków tak jak są, ale ich rysowanie walnąć w Draw View Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Husky7 Opublikowano 18 Lutego 2016 Autor Udostępnij Opublikowano 18 Lutego 2016 Musisz to rozdzielić, gracza przesuwać w step a przyciski przesuwać w end step. Zrobiłem tak i faktycznie nic się nie zmieniło :/ Najleniwsze wyjście jakie widze to zostawić kolizje przycisków tak jak są, ale ich rysowanie walnąć w Draw View O co dokładniej chodzi? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę