dexter19 Opublikowano 10 Grudnia 2014 Udostępnij Opublikowano 10 Grudnia 2014 Witam Dzisiaj znów zainteresowałem się Game Makerem i postanowiłem ulepszy jedną moją grę. Problem polega w tym: Zmieniłem sterowanie i chciałem dodać poruszanie się na skos ale ten sam kod działa gdy idę w prawo i do góry ale już w lewo ido góry nie Oto kod: GML if (keyboard_check(left)) { x-=5 sprite_index=spr_explo_left image_speed=0.2 }; if(keyboard_check(up)) { x-=-1 y-=-1 sprite_index=spr_explo_left_up image_speed=0.2 }; Tutaj jest jeszcze ruch podstawowy. Nie mam nic w step ponieważ nie sądzę by był potrzebny(ale pewnie się mylę) Oczywiście ruch w prawo jest zmieniony. PS. Używam GM8 (i nie piszcie mi że powinienem go zmieni). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lechu4444 Opublikowano 10 Grudnia 2014 Udostępnij Opublikowano 10 Grudnia 2014 Z tego co widzę gdy wciskasz strzałkę w lewo, postać idzie 5 px w lewo, a gdy wciskasz strzałkę w górę idzie 1 px w prawo i 1 px w dół i w sumie gdybyś mi nie powiedział że robisz sterowanie to bym nie wiedział co chcesz osiągnąć takim kodem. :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
dexter19 Opublikowano 10 Grudnia 2014 Autor Udostępnij Opublikowano 10 Grudnia 2014 nawet jeżeli samo nakierowanie jest błędne to ok ale nie ma nawet zmiany animacji i to mnie dziwi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 10 Grudnia 2014 Udostępnij Opublikowano 10 Grudnia 2014 Bo nie zmieniasz gdy wciśnięte jest na raz lewo i góra, a tylko góra. I jak zgaduję to pewnie skoro nie masz tego w step to masz to w evencie kliknięcia strzałki w lewo. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
dexter19 Opublikowano 10 Grudnia 2014 Autor Udostępnij Opublikowano 10 Grudnia 2014 Mam to w w kliknięcie strzałki w lewo idlatego nieużywałem w kodzie kliknięcia razem z strzałką do góry ale i tak robiłem wiele kombinacji i żadna nie działa Tutaj jest kod działający: GML if (keyboard_check(right)) { x+=5 sprite_index=spr_explo_right image_speed=0.2 }; if(keyboard_check(up)) { x+=-1 y-=-1 sprite_index=spr_explo_right_up image_speed=0.2 }; nie widze różnicy z tym poprzednim a i tak nie działa Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 10 Grudnia 2014 Udostępnij Opublikowano 10 Grudnia 2014 Przenieś wszystko związane z ruchem do eventu "Any key" Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
dexter19 Opublikowano 11 Grudnia 2014 Autor Udostępnij Opublikowano 11 Grudnia 2014 To nie działa ale spróbowałem inaczej i pomogło. Dodałem poprostu ten sam kod do klawisza w góre i działa. Ale i tak dzięki za rady. :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 11 Grudnia 2014 Udostępnij Opublikowano 11 Grudnia 2014 No właśnie robisz to bardzo źle. Bo gdy używasz eventu klawiszy to nie sprawdzaj potem wewnątrz kodu czy wcisnąłeś ten klawisz. Zrób tak jak ja Ci poleciłem z "Any Key", a jak chcesz sprawdzić 2 lub więcej warunków na raz to używaj AND i OR. Np.: GML if (keyboard_check(right) AND keyboard_check(up)) { //To wykona się tylko gdy klawisze prawo i góra będą naciśnięte na raz. }; Ale prawdopodobnie nie musisz nawet sprawdzać takich warunków. Jeżeli zrobisz osobno poruszanie dla 4 kierunków to gra sama będzie działać przy skosach. Po prostu zrób to dobrze. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
dexter19 Opublikowano 11 Grudnia 2014 Autor Udostępnij Opublikowano 11 Grudnia 2014 Mam to w eventach z klawiszami i mam zrobione osobno sterowanie.Skoro to działa płynnie bez żadnych ścięc podczas poruszania się,to nie widzę żadnego problemu w tym. A poza tym to próbowałem z "any key"i wszystko się mieszało. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 11 Grudnia 2014 Udostępnij Opublikowano 11 Grudnia 2014 Mieszało się bo namieszałeś. :D Ten kawałek kodu który pokazałeś w pierwszym poście jest dowodem na to że jest to jeden wielki bałagan. Pokaż wszystko co tyczy się poruszania, a na pewno pomożemy Ci zrobić to lepiej. Wiem że Polacy są specjalistami od prowizorek, ale prowizorki z czasem się rozpadają. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
dexter19 Opublikowano 12 Grudnia 2014 Autor Udostępnij Opublikowano 12 Grudnia 2014 Proszę bardzo jest tego trochę: Przycisk w lewo: GML if (keyboard_check(left)) { x-=5 sprite_index=spr_explo_left image_speed=0.2 }; if(keyboard_check(up)and(left) ) { x-=-1 y-=-1 sprite_index=spr_explo_left_up image_speed=0.2 }; if(keyboard_check(down)and(left) ) { x-=0 y+=0 sprite_index=spr_explo_left_down image_speed=0.2 }; Przycisk w lewo: GML if (keyboard_check(right)) { x+=5 sprite_index=spr_explo_right image_speed=0.2 }; if(keyboard_check(up)and(right)) { x+=-1 y-=-1 sprite_index=spr_explo_right_up image_speed=0.2 }; if(keyboard_check(down)and(right)) { x+=0 y+=0 sprite_index=spr_explo_right_down image_speed=0.2 }; Przycisk w góre: GML if(keyboard_check(up)) { y-=5 sprite_index=spr_explo_up image_speed=0.2; } if(keyboard_check(left) ) { x-=0 y-=0 sprite_index=spr_explo_left_up image_speed=0.2 }; Przycisk w dół: GML if(keyboard_check(down)) { y+=5 sprite_index=spr_explo_down image_speed=0.2; }; if(keyboard_check(right)) { x+=-1 y+=-1 sprite_index=spr_explo_right_down image_speed=0.2 }; if(keyboard_check(left)) { x-=-1 y+=-1 sprite_index=spr_explo_left_down image_speed=0.2 }; Są jeszcze osobne eventy z puszczaniem przycisku, próbowałem przed chwilą dodac to do tych kodów ale nie działało więc jest tak jak jest. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 12 Grudnia 2014 Udostępnij Opublikowano 12 Grudnia 2014 Na początek mam nadzieję że masz zainicjowane poprawnie zmienne up, down, left i right. Po drugie, dopisanie czegoś takiego "keyboard_check(up)and(left)" nie sprawdza klawisza a tylko czy zmienna jest TRUE (a prawie zawsze będzie). Poprawnie jest: "keyboard_check(up) and keyboard_check(left)". I po trzecie nie podejmę się napisania tego za Ciebie bo nie potrafię zrozumieć czegokolwiek z tego kodu (wtf y-=-1 xD) i nie wiem czy dam radę ale to Ci pomoże: GML (Key any) image_speed=0.2 if (keyboard_check(left)) { x-=5 sprite_index=spr_explo_left } else if (keyboard_check(right)) { x+=5 sprite_index=spr_explo_right } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
dexter19 Opublikowano 12 Grudnia 2014 Autor Udostępnij Opublikowano 12 Grudnia 2014 I tak dzięki za pomoc a jeżeli chodzi ci ot to -y=-1 to chodziło o to że -y to odpowiada za szybkośc. Testowałem to i działa. Napisz jeżeli to jest dziwne, bo nie wiem. :) EDIT. Spróbowałemz any key ale nadal nie do końca działa ale i tak dzięki za to :bye1: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 12 Grudnia 2014 Udostępnij Opublikowano 12 Grudnia 2014 Any key wywoła się za każdym razem gdy naciśnięty zostanie jakikolwiek klawisz. Wtedy dopiero sprawdzasz jaki klawisz jest wciśnięty i wykonujesz akcję. Wcześniej robiłeś coś głupiego czyli w evencie który sprawdzał naciśnięcie danego przycisku sprawdzałeś naciśniecie innych przycisków. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
dexter19 Opublikowano 12 Grudnia 2014 Autor Udostępnij Opublikowano 12 Grudnia 2014 Dzięki sprawdzę to.A to że nie rozumiesz mojego kodu, to się trochę nie dziwie.Ty piszesz lepiej,a ja umiem tylko troche z samych podstaw :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 15 Grudnia 2014 Administratorzy Udostępnij Opublikowano 15 Grudnia 2014 No właśnie chyba nie umiesz, skoro nie rozumiesz co robisz ;) y-=-1 rozwaliło mój dzień, bo to chyba w 4 klasie podstawówki już uczą, że minus i minus daje plus. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sutikku Opublikowano 15 Grudnia 2014 Udostępnij Opublikowano 15 Grudnia 2014 On tak się chroni przed dekompilacją. Bo i tak nikt nie zrozumie jego kodu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
dexter19 Opublikowano 15 Grudnia 2014 Autor Udostępnij Opublikowano 15 Grudnia 2014 W chyba wgl nie rozumiecie co napisałem wcześniej. Napisałem że testowałem coś i zadziałało. Nie zwracałem wgl uwagi na to x-=-4. Coś sprawdzałem i zadziałało a tu wielkie halo :angry: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
szmalu Opublikowano 19 Grudnia 2014 Udostępnij Opublikowano 19 Grudnia 2014 You just went full retard. Never go full retard. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 19 Grudnia 2014 Udostępnij Opublikowano 19 Grudnia 2014 >Stare memy Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
szmalu Opublikowano 19 Grudnia 2014 Udostępnij Opublikowano 19 Grudnia 2014 Stare memy nie rdzewiejo 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ę