-
Postów
96 -
Dołączył
-
Ostatnia wizyta
O MeloPL
- Urodziny 07.05.1995
O mnie
-
Skąd
Olsztyn
-
Płeć
Male
- Adres www
Osiągnięcia MeloPL
Smart Newbie (2/13)
0
Reputacja
-
Witam, zabrałem się niedawno za tworzenie prostej gry i często napotykam się na głupawe błędy. Tym razem mam taki problem, że gdy moja postać spada, to tuż przed wylądowaniem się zatrzymuje na ułamek sekundy i dopiero wtedy ląduje już w zwolnionym tempie. Co zrobić, by nie było takiego efektu? W create ustawiłem GML gravity=1; A w kolizji hero z obiektem block ustawiłem GML move_contact_solid(270,4); vspeed=0;
-
No więc tego kodu na animacje trochę jest... Jeśli ktoś ma trochę czasu, żeby mi pomóc i znajdzie coś, co blokuje mi tę animację, to będę bardzo wdzięczny. :D Sam już od ponad godziny tego szukam i naszukać się nie mogę. GML //w CREATE: stoi=0.8/room_speed;//prędkość animacji stojacej. bieg=14/room_speed;//prędkość animacji biegu. sciana=15/room_speed;//prędkość animacji wchodzenia po ścianie. sufit=15/room_speed;//prędkość animacji, gdy bohater trzyma się sufitu. spada=0.9/room_speed;//prędkość animacji, gdy bohater spada. //w STEP: // Ruchy na ziemi. if keyboard_check(vk_right) and hspd>0 //Jesli wciskamy strzalke w prawo { sprite_index=sPlayerB; //zaladowuje sie sprite biegania image_speed=bieg; //predkosc klatek taka, jak w create w bieganiu image_xscale=1; //obraz odwrocony w prawo } if keyboard_check(vk_left) and hspd<0 { sprite_index=sPlayerB; //zaladowuje sie sprite biegania image_speed=bieg; //predkosc klatek taka, jak w create w bieganiu image_xscale=-1; //obraz odwrocony w lewo } //Jeśli przestaje biegać, to stoi. LUB jeśli będzie się wciskało klawisz ruchu, lecz on straci prędkość i w ogóle nie będzie się poruszał, to animacja zmienia się na stojaca. if (keyboard_check_released(vk_right)) or (hspd=0 and keyboard_check(vk_right)) or (place_meeting(x,y+3,oBlock) and image_xscale=1 and image_speed=spada) { sprite_index=sPlayerS; //zaladowuje sie sprite stania image_speed=stoi; //predkosc klatek taka, jak w create w staniu image_xscale=1; //obraz odwrocony w prawo } // To samo co wyzej, tyle, ze w lewo. if (keyboard_check_released(vk_left)) or (hspd=0 and keyboard_check(vk_left)) or (place_meeting(x,y+3,oBlock) and image_xscale=-1 and image_speed=spada) { sprite_index=sPlayerS; //zaladowuje sie sprite stania image_speed=stoi; //predkosc klatek taka, jak w create w staniu image_xscale=-1; //obraz odwrocony w lewo } // Ruchy na suficie. //stoi na suficie: if keyboard_check(vk_up) and image_xscale=1 and (abStick && !place_free(x, y-1)) and !keyboard_check(vk_right) and !keyboard_check(vk_left) and image_speed!=sciana// jesli wcisniesz strzalke w gore a postac bedzie odwrocona w prawo, mozna chodzic po suficie i znajdujesz się piksel pod nim, oraz nie wciskasz strzalki w lewo/prawo { sprite_index=sPlayerUS; //sprite zmieni sie na trzymajacego sie sufitu image_speed=sufit; //predkosc animacji dopasuje sie do sprite trzymajacego sie sufitu image_xscale=1; //bedzie odwrocony w prawo } if keyboard_check_released(vk_up) and image_xscale=1 and image_speed=sufit //jeśli się puści sufitu będac odwrocony w prawo { sprite_index=sPlayerD; //sprite zmieni sie na spadajacego image_speed=spada; //predkosc animacji dopasuje sie do sprite spadajacego image_xscale=1; //bedzie odwrocony w prawo } if keyboard_check(vk_up) and image_xscale=-1 and (abStick && !place_free(x, y-1)) and !keyboard_check(vk_right) and !keyboard_check(vk_left) // jesli wcisniesz strzalke w gore a postac bedzie odwrocona w lewo, mozna chodzic po suficie i znajdujesz się piksel pod nim, oraz nie wciskasz strzalki w lewo/prawo { sprite_index=sPlayerUS; //sprite zmieni sie na trzymajacego sie sufitu image_speed=sufit; //predkosc animacji dopasuje sie do sprite trzymajacego sie sufitu image_xscale=-1; //bedzie odwrocony w lewo } if keyboard_check_released(vk_up) and image_xscale=-1 and image_speed=sufit //jeśli się puści sufitu będac odwrocony w lewo { sprite_index=sPlayerD; //sprite zmieni sie na spadajacego image_speed=spada; //predkosc animacji dopasuje sie do sprite spadajacego image_xscale=-1; //bedzie odwrocony w lewo } //idzie po suficie: if keyboard_check(vk_up) and !place_free(x,y-1) and keyboard_check(vk_right) and hspd>0 and hspd!=0 { sprite_index=sPlayerUB; image_speed=sufit; image_xscale=1; } if keyboard_check(vk_up) and !place_free(x,y-1) and keyboard_check(vk_left) and hspd<0 and hspd!=0 { sprite_index=sPlayerUB; image_speed=sufit; image_xscale=-1; } // Spadanie: if (place_free(x,y+1) and image_xscale=1 and image_speed!=sufit and (vspd<1.0 and vspd>0)) { sprite_index=sPlayerDS; image_speed=spada; image_xscale=1; } if (place_free(x,y+1) and image_xscale=-1 and image_speed!=sufit and (vspd<1.0 and vspd>0)) { sprite_index=sPlayerDS; image_speed=spada; image_xscale=-1; } if (place_free(x,y+1) and image_xscale=1 and image_speed!=sufit and vspd>1.0) { sprite_index=sPlayerD; image_speed=spada; image_xscale=1; } if (place_free(x,y+1) and image_xscale=-1 and image_speed!=sufit and vspd>1.0) { sprite_index=sPlayerD; image_speed=spada; image_xscale=-1; } // Wspina się po ścianie: if (place_meeting(x+1,y,oBlock) and image_xscale=1 and keyboard_check(vk_up) and keyboard_check(vk_right)) //gdy odwrócony w prawo { sprite_index=sPlayerSU; image_speed=sciana; image_xscale=1; } if (place_meeting(x-1,y,oBlock) and image_xscale=-1 and keyboard_check(vk_up) and keyboard_check(vk_left)) //gdy odwrócony w lewo { sprite_index=sPlayerSU; image_speed=sciana; image_xscale=-1; } // Trzyma sie sciany w bezruchu: if (place_meeting(x+1,y,oBlock) and image_xscale=1 and keyboard_check(vk_right) and !keyboard_check(vk_up)) { sprite_index=sPlayerSS; //sprite zmienia się na postac trzymajaca sie sciany w bezruchu image_speed=sciana; //predkosc animacji zwiazanej z interakcja na scianie, domyslnie ustawione na "15/room_speed;" image_xscale=1; //odwrocone w prawo } if (place_meeting(x-1,y,oBlock) and image_xscale=-1 and keyboard_check(vk_left) and !keyboard_check(vk_up)) { sprite_index=sPlayerSS; //sprite zmienia się na postac trzymajaca sie sciany w bezruchu image_speed=sciana; //predkosc animacji zwiazanej z interakcja na scianie, domyslnie ustawione na "15/room_speed;" image_xscale=-1; //odwrocone w lewo } EDIT. Już do tego doszedłem -> starczyło dopisać we fragmencie "if [...] (hspd=0 and keyboard_check(vk_left)" argument "!image_speed=sciana". Problem rozwiązany, dzięki TheMarcQ za to, ze pomogles ustalic, iz blokada znajduje sie gdzies dalej w kodzie : )
-
Witam, jestem w trakcie tworzenia platformowej gry akcji na GM8 i robię właśnie różne animacje dla postaci. Zrobiłem zwisanie z sufitu, bieg, stanie, spadanie, itp., wszystko działa świetnie, ale niestety, z animacją wspinania się po ścianie nie jest już tak pięknie; gdy napisałem: GML // Wspina się po ścianie: if (place_meeting(x+1,y,oBlock) and image_xscale=1 and keyboard_check(vk_up) and keyboard_check(vk_right)) //gdy odwrócony w prawo { sprite_index=sPlayerSU; image_speed=15/room_speed; image_xscale=1; } if (place_meeting(x-1,y,oBlock) and image_xscale=-1 and keyboard_check(vk_up) and keyboard_check(vk_left)) //gdy odwrócony w lewo { sprite_index=sPlayerSU; image_speed=15/room_speed; image_xscale=-1; } to postać zaczyna robić animację, ale trwa ona do drugiej klatki, podczas gdy powinna wykonywać wszystkie klatki, których jest 10. Ta animacja się zacina, lecz nie wiem, w czym rzecz. Macie jakiś pomysł, żeby rozwiązać ten problem?
-
Wojzax, obie twarze jakieś takie niekształtne, w takim nierealistycznym sensie. Kiepsko pocieniowane i ogólnie brzydkie, choć spodobały mi się włosy u tej dziewczyny na drugim obrazku. Dużo lepiej ci wychodzi pixel art. :)
-
Oh, dzięki :D Mam win7, nie wiedzialem ze istnieje taki program. :) No więc temat do zamknięcia ;D
-
Witam, mam pytanie, czy da się jakoś przybliżyć lub oddalić obraz w edytorze roomów? Przydałaby mi się taka opcja, bo robię grę z obiektów wielkości 12x12, więc żeby rozróżnić podobne obiekty, muszę się napatrzeć, poza tym niewygodnie się edytuje i łatwo się pomylić.
-
Bardzo by się przydała minimapa, by można byłoby rozplanować, kiedy użyć magnesu, by nie wpaść w kolce, których się nie widzi z powodu małej rozdzielczości.
-
A mi się podoba ten styl bez kolorowania :D Kojarzy mi się trochę z japońską mangą, która często jest czarnobiała. Ja osobiście bym chciał, żeby zostało niepokolorowane, albo najlepiej pokolorowane i zmienione na czarno-białe. :)
-
Przeszedłem całą. Fajny pomysł, oryginalny, lecz niekiedy występują bardzo irytujące momenty w poziomach, szczególnie w tym ostatnim. Irytujący dlatego, że nie wiadomo było, co jest dalej. Gdyby była jakaś minimapka chociaż, lub przytym nieco większy ekran, to bym się nie wkurzał, że na samym końcu umieszczone są kolce, w które wpadam, bo nie widziałem ich przez zbyt mały ekran... 4/5, bo wciągnęło mnie na tyle, żeby przejść całą, choć szczerze mówiąc, gdybyś porobił jeszcze więcej poziomów, to nie wiem, czy moje nerwy by pozwoliły na więcej. :>
-
Jak to "nikt nie robi"? Jeśli nikt by nie robił, to *Ten temat by nie powstał, *Nie istniałyby programy do tworzenia pixelartu, *Nie powstawałyby gry w tym stylu... Mam jeszcze wymieniać? Ja wciąż widuję w darmowych produkcjach ten styl, i szczerze mówiąc lubię go. Jakoś tak bardziej działa na wyobraźnię i ma swój wyjątkowy klimat. Szczerze mówiąc bardzo bym chciał, żeby powstała taka wysokobudżetowa pixelartowa produkcja, która weszłaby na rynek tych wyższych gier (pośród wszystkich tych gier za około 100 zł). Chętnie bym taką kupił, cóż, kręci mnie taki styl. Szkoda że to jest prawie niemożliwe. :unsure:
-
Stopniowe zmniejszanie się i zwiększanie się obiektu + klonowanie
MeloPL opublikował(a) temat w Pytania początkujących
Witam, mam problem z wykonaniem obiektu, który ma się gładko zmniejszać i zwiększać, a do tego gładko lekko zanikać (tak gdzieś od 0.5 alpha do 1.0), oraz losowo klonować się (żeby powstał dokładnie taki sam obiekt, poruszający się w ten sam sposób jakieś 15 pikseli w prawo), maks 1 klon. 1. Płynne zmniejszanie-Zwiększanie, 2. Płynne zanikanie, 3. Płynne (z użyciem zanikania) powstawanie klona i chowanie się go. No, to z tym mam problem, bo zawsze, gdy staram się to zrobić, to nie dzieje się to płynnie. :/ -
O, dzięki! Path tworzy się w roomie :D No, może nie jest random, ale jak się ustawi taką ścieżkę, to na pewno nikt nic nie zauważy :) Dzięki wielkie. :D
-
Witam. Jak zrobić coś takiego, by obiekt płynnie falował po określonym obszarze (i za poza niego nie wychodził) w losowych kierunkach (ewentualnie coś w kształcie ósemki)? Obiekt, który ma się płynnie przemieszczać nazywa się "kasztan", a drugi obiekt odpowiedzialny za obszar ruchu kasztana nazywa się "obszar" (oczywiście nie wiem, czy ten drugi obiekt się w ogóle przyda). Od razu zaznaczę, że nie chcę, by dało się sterować obiektem "kasztan", a żeby wykonywał on sam losowe ruchy, ale płynnie, w kształcie falowania, lub cyfry 8.
-
Witam, mam do was pytanie, jak zrobić drogę, która będzie lekko zygzakowata, z animacją, jakby się po niej chodziło, z pierwszej osoby? Chodzi o to, żeby się wydawało, że chodzi się po zygzakowatej drodze, która ciągnie się w nieskończoność (oraz żeby faktycznie była nieskończona).
-
Menu 1.0
MeloPL odpowiedział(a) na Konrad-GM temat w Gotowe Skrypty, przykłady, dodatki, silniki 3D dla GM
Z betą gm8.0 nie zrobią gry. Mogą je ewentualnie robić tylko dla siebie, lub dla treningu.