Markar Opublikowano 14 Grudnia 2009 Udostępnij Opublikowano 14 Grudnia 2009 Mam w steepie ręki taki kod an obracanie: GML DocKier = point_direction(x,y,mouse_x,mouse_y); OdwrKier = (DocKier + 180) mod 360; if DocKier > OdwrKier { if direction <= DocKier && direction >= OdwrKier { Mnoznik = 4; } else { Mnoznik = -4; } } else if direction >= DocKier && direction <= OdwrKier { Mnoznik = -4; } else { Mnoznik = 4; } if round(direction/5) != round(DocKier/5) { direction += Mnoznik*room_speed*0.1; } Działa dobrze, ale kiedy już ręka osiągnie wskazany direction drga, jak zrobić żeby obiekt nie drgał?? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawka83 Opublikowano 14 Grudnia 2009 Udostępnij Opublikowano 14 Grudnia 2009 GML if (direction != tutaj maksymalny direction ręki) { //Ten twój kod } Jeżeli to nie będzie działało to zrób tak: GML if (direction = maksymalny direction reki){} else { //Ten twój kod } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 14 Grudnia 2009 Udostępnij Opublikowano 14 Grudnia 2009 GML if (direction = maksymalny direction reki){} else { //Ten twój kod } :o Przecież to jest to samo co GML if (direction != tutaj maksymalny direction ręki) { //Ten twój kod } Obiekt drga Ci, ponieważ próbując osiągnąć odpowiedni kierunek jakby nie udaje mu się to i wyskakuje o dziesiętną, setną, a może nawet tysięczną stopnia za daleko, a Ty napisałeś że ma to być idealnie tyle. Zaokrąglij obie liczby przy sprawdzaniu warunku i powinno być dobrze ;) ( funkcja round(liczba) ) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Markar Opublikowano 19 Grudnia 2009 Autor Udostępnij Opublikowano 19 Grudnia 2009 @Dawka83: nie kapuje o co chodzi z maksymalnym directionem ręki, co mam tam wpisać? @Nobody: jak użyć round(liczba) ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lenin Opublikowano 19 Grudnia 2009 Udostępnij Opublikowano 19 Grudnia 2009 jak użyć round(liczba) ? .... round(1.6) - liczba zostanie zaokrąglona do 2. round(random(5)) - wylosowana zostanie liczba od 0 do 5 i zaokrąglona do całości. Czego nie rozumiesz? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Markar Opublikowano 20 Grudnia 2009 Autor Udostępnij Opublikowano 20 Grudnia 2009 Wiem mniej-więcej jak to działa, ale jak mam usunąć drganie? GML DocKier = point_direction(x,y,mouse_x,mouse_y); OdwrKier = (DocKier + 180) mod 360; if DocKier > OdwrKier { if direction <= DocKier && direction >= OdwrKier { Mnoznik = 4; } else { Mnoznik = -4; } } else if direction >= DocKier && direction <= OdwrKier { Mnoznik = -4; } else { Mnoznik = 4; } if round(direction/5) != round(DocKier/5) { direction += Mnoznik*room_speed*0.1; } Prosze o pomoc, i objaśnić kod jak ktoś pomaga. 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ę