Pablo-GM Opublikowano 13 Sierpnia 2011 Udostępnij Opublikowano 13 Sierpnia 2011 Witam , mam drobny dylemat chciałbym usunąć możliwość wychodzenia poza mój room no i tak się zastanawiam czy jest możliwość zrobienia za pomocą kodu jakiejś niewidzialnej bariery ? Po prostu uważam , że ustawianie obiektów solid na całej szerokości i wysokości rooma (10000x10000) mija się z celem ... Pozdrawiam , Pablo Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Madness Opublikowano 13 Sierpnia 2011 Udostępnij Opublikowano 13 Sierpnia 2011 Użyj xprevious i yprevious, będzie cofało objekt o tą samą wartość którą się w nią wpycha, krótko mówiąc speed spadnie do zera. Jeśli już chcesz się bawić z tą barrierą, to np. za pomocą if collision_line i wiesz, zrobisz sobie taki kwadracik, a jak zajdzie kolizja, to np. speed spada do 0 i tyle. EDIT: sory za pomyłke ^^ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
DRAKO Opublikowano 13 Sierpnia 2011 Udostępnij Opublikowano 13 Sierpnia 2011 chyba xprevious i yprevious a nie xprevius , yprevius Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pablo-GM Opublikowano 13 Sierpnia 2011 Autor Udostępnij Opublikowano 13 Sierpnia 2011 Użyj xprevius i yprevius, będzie cofało objekt o tą samą wartość którą się w nią wpycha, krótko mówiąc speed spadnie do zera. Jeśli już chcesz się bawić z tą barrierą, to np. za pomocą if collision_line i wiesz, zrobisz sobie taki kwadracik, a jak zajdzie kolizja, to np. speed spada do 0 i tyle. Spadający speed do 0 to raczej nienajlepsze rozwiązanie : ) Może jakieś inne sugestie , panie i panowie ? :3 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rudy Opublikowano 13 Sierpnia 2011 Udostępnij Opublikowano 13 Sierpnia 2011 GML (Step) if (x < 20 || x > room_width-20) hspeed = 0; if (y < 20 || y > room_height-20) vspeed = 0; Proste i logiczne. (20 - mniej więcej przesunięcie granicy tak, żeby połowa obiektu nie znikała zanim sie zatrzymie) A jeżeli bez speed = 0, to w takim razie jak? Masz zamiar odbić obiekt, obrócić, przenieść? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 13 Sierpnia 2011 Udostępnij Opublikowano 13 Sierpnia 2011 Spadający speed do 0 to raczej nienajlepsze rozwiązanie : ) Może jakieś inne sugestie , panie i panowie ? :3 Omg żaden speed nie spadanie do zera, jemu chodziło oto że będzie po prostu wyglądało że stoi w miejscu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pablo-GM Opublikowano 13 Sierpnia 2011 Autor Udostępnij Opublikowano 13 Sierpnia 2011 GML (Step) if (x < 20 || x > room_width-20) hspeed = 0; if (y < 20 || y > room_height-20) vspeed = 0; Proste i logiczne. (20 - mniej więcej przesunięcie granicy tak, żeby połowa obiektu nie znikała zanim sie zatrzymie) A jeżeli bez speed = 0, to w takim razie jak? Masz zamiar odbić obiekt, obrócić, przenieść? Coś tu chyba jest nie tak - no i spd1 ( speed playera ) również zmieniałem na 0 . Efekt taki sam , postać nadal może opuszczać room . UP Ja nadal jego wypowiedz interpretuję nieco inaczej : ) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 13 Sierpnia 2011 Udostępnij Opublikowano 13 Sierpnia 2011 Odniosłem się do 1 zdania. Bo w kolejnym porusza już inny sposób. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pablo-GM Opublikowano 13 Sierpnia 2011 Autor Udostępnij Opublikowano 13 Sierpnia 2011 W drugim sposobie uwzględnił bariere - myśl przewodniej mojego tematu . Także następnym razem zanim napiszesz trochę się zastanów , a przy okazji może wniesiesz coś do tematu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rudy Opublikowano 13 Sierpnia 2011 Udostępnij Opublikowano 13 Sierpnia 2011 Pytanie brzmi: jak sterujesz tym gościem? 1. x += 5 <-- ruch na prawo co step 2. speed = 5; direction = 0; <-- jedne wpisanie danych i już Spróbuj tego kodu: GML (Step) if (x < 200) { x = 200; hspeed = 0; } if (y < 200) { y = 200; vspeed = 0; } if (x > room_width-200) { x = room_width-200; hspeed = 0; } if (y > room_height-200) { y = room_height-200; vspeed = 0; } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pablo-GM Opublikowano 13 Sierpnia 2011 Autor Udostępnij Opublikowano 13 Sierpnia 2011 Dzięki Rudy , dzięki Tobie zyskałem nowe doświadczenie . Zamykam Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi