ZyperPL Opublikowano 18 Czerwca 2010 Udostępnij Opublikowano 18 Czerwca 2010 Elo.. Robię własny od nowa silnik do platformówki i nie wiem jak zrobić, że gdy jestem obrócony w prawo sprite obraca się w prawo, a gdy w lewo to lewo :P Wiem, że to prosto jest zrobić, tylko zapomniałem jak.. W grze topdown to jest prostrze :P I tak przy okazji, jak zrobić, wystrzeliwanie pocisku w stronę myszki. Znaczy.. Mam lufę przy postaci, która obraca się w stronę gracza. I gdy nacisnę lewy klawisz myszki pojawia się pocisk, który leci tam gdzie była obrócona lufa. Ustawić w Create? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
m@rcixxx Opublikowano 18 Czerwca 2010 Udostępnij Opublikowano 18 Czerwca 2010 1.Musisz się pobawić point_direction, kątami i warunkami. 2.W create pocisku dajesz point_direction na celownik, speed itp., ale nie w step bo wyjdzie śmiesznie. edit 1: i jeszcze w playerze musisz dać event np. left mouse button i tworzenie pocisku. edit 2: chyba dziwnym zbiegiem okoliczności zacząłeś robić ten silnik, nieprawdaż ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TheMarcQ Opublikowano 18 Czerwca 2010 Udostępnij Opublikowano 18 Czerwca 2010 GML (keyboardkeypressed) //strzelanie bull=instance_create(x,y,pocisk) bull.direction=direction bull.speed=5 E: GML (step) if keyboard_check(vk_left)//chodzenie w lewo { x-=5 image_xscale=-1 } else if keyboard_check(vk_right)//chodzenie w prawo { x+=5 image_xscale=1 } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
m@rcixxx Opublikowano 18 Czerwca 2010 Udostępnij Opublikowano 18 Czerwca 2010 GML (step) if keyboard_check(vk_left)//chodzenie w lewo { x-=5 image_xscale=-1 } else if keyboard_check(vk_right)//chodzenie w prawo { x+=5 image_xscale=1 } Ten kod nie jest poprawny bo gracza będzie można obrócić a celownik zostanie po drugiej stronie, wtedy gracz będzie strzelał z pleców. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TheMarcQ Opublikowano 18 Czerwca 2010 Udostępnij Opublikowano 18 Czerwca 2010 może to: GML x=hero.x y=hero.y image_angle=direction direction=point_direction(x,y,x_mouse,y_mouse) bull=instance_create(x+lengthdir_x(sprite_width/2,direction),y+lengthdir_y(sprite_height/2,direction),o_pocisk) bull.direction=direction bull.speed=5 to w objekt okarabin Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
m@rcixxx Opublikowano 18 Czerwca 2010 Udostępnij Opublikowano 18 Czerwca 2010 Omg, dobra będę litościwy, zrób, że gun obraca się do myszki, zrób dwa obrazki w spricie, jeden normalnie a drugi do góry nogami, potem w step: if gun.image_angle>90 { image_index=1 } if gun.image_angle<270 { image_index=1 } if gun.image_angle<90 { image_index=0 } if gun.image_angle>270 { image_index=0 } edit: i jeszcze zrób, że player image_index=gun.image_index ale przedtem musisz zrobić dwa obrazki w spricie gracza - w lewo i w prawo. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TheMarcQ Opublikowano 18 Czerwca 2010 Udostępnij Opublikowano 18 Czerwca 2010 moje jest lepsze foh :sleeping: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
m@rcixxx Opublikowano 18 Czerwca 2010 Udostępnij Opublikowano 18 Czerwca 2010 moje jest lepsze foh :sleeping: Najpierw przetestuj to co napisałeś. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZyperPL Opublikowano 18 Czerwca 2010 Autor Udostępnij Opublikowano 18 Czerwca 2010 Użyłem kodu TheMarcoQ, ale musiałem troszkę to pozmieniać, bo nie działało jak powinno ;) To obracanie zrobiłem też, dzięki wam za "image_xscale" bo właśnie o tym zapomniałem. Tylko dlaczego, gdy nacisnę w lewo postać się odwróci, ale gdy puszczę wraca na swoją pozycję, a nie zostaje tak jak jest? :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Garry692 Opublikowano 18 Czerwca 2010 Udostępnij Opublikowano 18 Czerwca 2010 Użyłem kodu TheMarcoQ, ale musiałem troszkę to pozmieniać, bo nie działało jak powinno ;) To obracanie zrobiłem też, dzięki wam za "image_xscale" bo właśnie o tym zapomniałem. Tylko dlaczego, gdy nacisnę w lewo postać się odwróci, ale gdy puszczę wraca na swoją pozycję, a nie zostaje tak jak jest? :/ pokaz co tam pozmieniales ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZyperPL Opublikowano 18 Czerwca 2010 Autor Udostępnij Opublikowano 18 Czerwca 2010 No jak to co, to, żeby nie strzelało cały czas, bo to musi być w Stepie. Zrobiłem, że gdy naciskam lewy klawisz myszki i jeszcze wymiary nie pasowały :P Znaczy się x i y. Oczywiście nazwy obiectów też złe, bo skąd miał wiedzieć jakie ja mam. Koniec :P Teraz lepiej pomóż, nie offtopuj :P Edit: I jeszcze nie x_mouse i y_mouse, tylko mouse_x i mouse_y :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TheMarcQ Opublikowano 19 Czerwca 2010 Udostępnij Opublikowano 19 Czerwca 2010 dobra, tu jest git: https://gmclan.org/up6357_12_8b6b2f98ab.html Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
4tk Opublikowano 19 Czerwca 2010 Udostępnij Opublikowano 19 Czerwca 2010 Masz https://gmclan.org/up6357_12_8b6b2f98ab.html ,nie dziękuj :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZyperPL Opublikowano 19 Czerwca 2010 Autor Udostępnij Opublikowano 19 Czerwca 2010 To nie twoje, 4tk :P BTW. To nie rozwiązuje mojego problemu. Bo gdy mój obiekt skacze, zmieniam mu sprite na postac_skacze. I automatycznie, postać się obraca w prawo. A chciałbym, żeby jak już się odwróci w lewo to jak skacze była w lewo... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
4tk Opublikowano 19 Czerwca 2010 Udostępnij Opublikowano 19 Czerwca 2010 A dajesz spacje? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 19 Czerwca 2010 Udostępnij Opublikowano 19 Czerwca 2010 Wrzuć kod na skok, to zobaczymy co da się zrobić. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZyperPL Opublikowano 19 Czerwca 2010 Autor Udostępnij Opublikowano 19 Czerwca 2010 GML if ! place_free(x,y+1) {vspeed = -jump sprite_index=postac_skacze} GML jump=5 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 19 Czerwca 2010 Udostępnij Opublikowano 19 Czerwca 2010 Tworzysz sprity skoku w lewo i prawo i dopisujesz if: GML if ! place_free(x,y+1) { vspeed = -jump if(sprite_index==stoi_prawo||sprite_index==idzie_prawo) sprite_index=postac_skacze_prawo; else if(sprite_index==stoi_lewo||sprite_index==idzie_lewo) sprite_index=postac_skacze_llewo; } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZyperPL Opublikowano 19 Czerwca 2010 Autor Udostępnij Opublikowano 19 Czerwca 2010 Wut? Za bardzo tego nie rozumiem... Bo ja nie mam osobnych sprite, jak się obrócę, tylko image_xscale :P To teraz muszę obracać każdy sprite? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 19 Czerwca 2010 Udostępnij Opublikowano 19 Czerwca 2010 Sry, to sprite_index mnie zmyliło. Ja zawsze wrzucam wszystkie sprity postaci do jednego sprita. Ale skoro używasz image_xscale, to nie powinno Ci obracać po skoku postać. Chyba, że masz gdzieś potem kod, który powoduje obrót postaci. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZyperPL Opublikowano 19 Czerwca 2010 Autor Udostępnij Opublikowano 19 Czerwca 2010 Ta.. Bo ja mam animację :P To muszę mieć normalnie osobno sprity :P No, ale jak się ustawia inny, nowy sprite. To się automatycznie ustawia w prawo? Jak tak.. to muszę pisać silnik od nowa :P Ale i tak mało miałem zrobione :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 19 Czerwca 2010 Udostępnij Opublikowano 19 Czerwca 2010 No, ale jak się ustawia inny, nowy sprite. To się automatycznie ustawia w prawo? U siebie tego nie zauważyłem. Może po prostu masz sprite skoku odwrócony względem reszty spritów. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZyperPL Opublikowano 19 Czerwca 2010 Autor Udostępnij Opublikowano 19 Czerwca 2010 Nie.. Wszystkie są w prawo ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 19 Czerwca 2010 Udostępnij Opublikowano 19 Czerwca 2010 To sbróbuj jeszcze tak: GML (skok) { a=image_xscale; sprite_index=skok; image_xscale=a; } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZyperPL Opublikowano 19 Czerwca 2010 Autor Udostępnij Opublikowano 19 Czerwca 2010 To samo.. Nie działa :/ Może dlatego, że mam tam pełno pozmienianych tych rzeczy :P Robię od nowa ;) Dzięki wszystkim za pomoc, jakby znowu nie działało, to napiszę tutaj i spróbujemy rozwiązać ten problem. A tego strzelania jednak nie zrobię, bo wygląda to nienaturalnie w mojej grze :> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TheMarcQ Opublikowano 19 Czerwca 2010 Udostępnij Opublikowano 19 Czerwca 2010 do mojego kodu dodaj GML else {/*twój skok*/} Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZyperPL Opublikowano 19 Czerwca 2010 Autor Udostępnij Opublikowano 19 Czerwca 2010 Zrobiłem od nowa i działa ;) Dzięki wszystkim za pomoc, ale jednak sam sobie poradziłem. Zamykam temat ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi