dyzmek 14 Napisano 15 Listopad 2020 Witam , mam dla was małą niespodziankę ale i pytanie dlatego piszę właśnie tutaj . Seid Chronicles powstanie jednak przed tą że grą postanowiłem odświeżyć , zrobić remake mojej ostatniej gry z przed 8 lat ,,Seid-Znalezisko ,, według mnie gra która dostała 2 i pół gwiazdki wśród ocen użytkowników naszego szanownego gmclanu , może powrócić w lepszej , dopracowanej odsłonie , staram się zadbać o wszelakie szczegóły . Teraz do rzeczy Mam Animacje Seida biegającego w lewo oraz w prawo . Mam ogólnie 4 animacje Run_left , run_right , od poruszania oraz dwie od tego jak postać stoi bez ruchu i sobie oddycha w lewo i w prawo . Znalazłem na GMC przykład ruchu platformowego , jednak nie działa on u mnie . Chciał bym osiągnąć to że jak postać przestanie iść np w prawo to by Sprite zmienił się z run_right na postoj_prawo oczywiście w lewą stronę tak samo , proszę o pomoc bądź jakiś prosty przykład , powrót do Game Makera po kilku latach daje się we znaki , muszę wiele sobie przypomnieć i nauczyć dwa dni próbowałem sam zrobić ta animacje metoda prób i błędów ale chce ruszyć z grą dalej i to nie daje mi spokoju Za pomoc oczywiście obecność w napisach (Creditsach) Za pomoc z góry wielkie dzięki Udostępnij tego posta Odnośnik do posta Udostępnij na innych stronach
adam014 14 Napisano 15 Listopad 2020 Zostaw animacje w jedną stronę, najlepiej w prawo i w zależności od kierunku ustawiaj jej image_xscale na 1 (prawo) lub -1 (lewo) Udostępnij tego posta Odnośnik do posta Udostępnij na innych stronach
SimianVirus7 35 Napisano 15 Listopad 2020 Dokładnie tak jak powiedział @adam014, użyj image_xscale, zaoszczędzi Ci to czasu i miejsca związane z tworzeniem sprite'ów. Pamiętaj tylko, żeby każdy sprite patrzył domyślnie w prawo. Co do kodu, będzie to mniej więcej coś takiego: Jeśli naciśniesz strzałkę w lewo to: - ustaw sprite na bieganie - ustaw image_xscale = -1 - ustaw prędkość poruszania się (np. hspeed = -4); Jeśli naciśniesz strzałkę w prawo to: - ustaw sprite na bieganie - ustaw image_xscale = 1 - ustaw prędkość poruszania się (np. hspeed = 4);(tutaj różnica jest tylko taka, że wartości są dodatnie) Jeśli nie naciskasz ani strzałki w lewo ani w prawo to: - ustaw sprite na stanie w miejscu - ustaw prędkość poruszania się na zero(image_xscale nie zmieniasz, tak, aby została wartość ostatnio obrana, czyli w lewo albo w prawo) W kodzie będzie to wyglądać mniej więcej tak: if(keyboard_check(ord("A"))) //jeśli strzałka w lewo { sprite_index = sHero_run; //ustaw odpowiedni sprite image_xscale = -1; //ustaw obrót w którą stronę patrzeć hspeed = -4; //ustaw prędkość } if(keyboard_check(ord("D"))) //jeśli strzałka w prawo { sprite_index = sHero_run; //ustaw odpowiedni sprite image_xscale = 1; //ustaw obrót w którą stronę patrzeć hspeed = 4; //ustaw prędkość } if(!keyboard_check(ord("D")) and !keyboard_check(ord("A"))) { sprite_index = sHero_idle; //ustaw odpowiedni sprite hspeed = 0; //wyzeruj prędkość aby postać zatrzymała się } A wynik powinien wyjść mniej więcej taki: grafika: https://opengameart.org/content/forest-boy-platformer-animated-character-24x24 edit: Z tego co się orientuje maziasz gry w game maker 8.1 więc chyba trudno będzie o jakikolwiek przykład projektu :/ Udostępnij tego posta Odnośnik do posta Udostępnij na innych stronach
dyzmek 14 Napisano 16 Listopad 2020 Tak pracuję na starszej wersji na wspomnianym GM 8.1 PRO , jednak sam kod w zupełności wystarczy , bardzo dziękuję za pomoc , pozdrawiam Udostępnij tego posta Odnośnik do posta Udostępnij na innych stronach