Ikeni Opublikowano 13 Maja 2007 Udostępnij Opublikowano 13 Maja 2007 Niewiem jak zrobić żeby po wciśnięciu klawisza np. "z" piłkarz kopnął piłkę w stronę którą stoi więdząc, ze piłka to osobny obiekt. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jakim Opublikowano 13 Maja 2007 Udostępnij Opublikowano 13 Maja 2007 Niewiem jak zrobić żeby po wciśnięciu klawisza np. "z" piłkarz kopnął piłkę w stronę którą stoi więdząc, ze piłka to osobny obiekt. Możesz użyć funkcji point_direction(x,y,pilka.x,pilka.y) i ustawić dzięki niej direction piłki. if keyboard_check(ord('Z')) { pilka.direction=point_direction(x,y,pilka.x,pilka.y) } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
propaganja Opublikowano 13 Maja 2007 Udostępnij Opublikowano 13 Maja 2007 pilka.direction=point_direction(x,y,pilka.x,pilka.y) tak jak napisales pilka bedzie leciec w swoja wlasna strone.. hmmm chyba nie do konca o to chodzilo ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jakim Opublikowano 13 Maja 2007 Udostępnij Opublikowano 13 Maja 2007 Wszystko się dzieje w obiekcie piłkarza. Chociaż zawsze można prościej: pilka.direction=direction Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pentalinio Opublikowano 14 Maja 2007 Udostępnij Opublikowano 14 Maja 2007 Hmm... nie chce się wtrącać, ale to powinno chyba wyglądać tak: W Step: If Keyboard_Check_Pressed('Z') //jezeli nacisniesz Z { pilka.direction=self.direction //kierunek lotu pilki to kierunek pilkarza } Edit: A nie wszystko dobrze :P . Ale nie moze być direction=point_direction! Wtedy piłka leci w piłkarza. :jezor: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 14 Maja 2007 Udostępnij Opublikowano 14 Maja 2007 Po pierwsze, nie istnieje funkcja Keyboard_Check_Pressed, tak samo If. Po drugie, GM jest głupi, dlatego też żeby wyciągnąć wartość ASCII Z piszesz ord('Z'), po za tym, po co mnożyć kierunek? No i mogę się przyczepić do odwołania self, jest tutaj nie potrzebne bo i tak kod dotyczy obiektu w którym kod zostanie wywołany. :P if( keyboard_check_pressed( ord( 'Z' ) ) ) { pilka.direction = direction; } No i można wprowadzić ograniczenie odległości: if( keyboard_check_pressed( ord( 'Z' ) ) ) { if( distance_to_object( pilka ) < 32 ) pilka.direction = direction; } Tyle z mojego marudzenia. =P EDIT Może być point_direction, a nawet jest na miejscu użycie tej funkcji: if( keyboard_check_pressed( ord( 'Z' ) ) ) { if( distance_to_object( pilka ) < 32 ) pilka.direction = point_direction( x, y, pilka.x, pilka.y ); } Tylko zależy z jakiej strony patrzysz. =) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ikeni Opublikowano 14 Maja 2007 Autor Udostępnij Opublikowano 14 Maja 2007 Niedziała. Podbiegam do piłki klikam z i przebiegam przez piłkę. Użyłem ostatniedo kodu od Tymona i dałem go w step piłkarza. Pls pomóżcie :crying: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jakim Opublikowano 14 Maja 2007 Udostępnij Opublikowano 14 Maja 2007 Jak uderzasz w piłkę, musisz ustawić piłce jakąś prędkość. if( keyboard_check_pressed( ord( 'Z' ) ) ) { if( distance_to_object( pilka ) < 32 ) pilka.direction = direction; pilka.speed = ilestam; } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lord Marcelot Opublikowano 14 Maja 2007 Udostępnij Opublikowano 14 Maja 2007 EDIT: @up chyba dobrze!!! @ To może proponuje żeby przy kolizji z piłkom zawodnik zmniejszał prędkość do np.1 bo (ale się nie znam) myślę że trudno wycelować akurat w tym momęcie żeby piłke strzelić. @ spruduj jeszcze tak skasuj (z roomu!!!) zawodnika i stwórz go w roomie jeszcze raz. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ikeni Opublikowano 14 Maja 2007 Autor Udostępnij Opublikowano 14 Maja 2007 Już ok. Dzięki. EDIT: Mam jeszcze pytanie, jak zrobić, że piłka przy kolizji z piłkarzem do czepia się do niego? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jakim Opublikowano 14 Maja 2007 Udostępnij Opublikowano 14 Maja 2007 Mniej więcej coś takiego: CREATE: possession=noone; STEP: if possession!=noone { //ustaw pozycję piłki przy graczu x = possession.x; //możesz dodać coś do tych współrzędnych, np. "+lengthdir_x(16,possession.direction)" y = possession.y; } Ten skrypt umieść w obiekcie "pilka". Zmienna possession będzie wynosić id zawodnika, przy którym się znajduje piłka. STEP: if place_meeting(x,y,pilka) //jeśli kolizja z piłką { pilka.possession=id; } if( keyboard_check_pressed(ord( 'Z' ))) { if( distance_to_object( pilka ) < 32 ) and pilka.possession = id //jesli dystans jest mniejszy niż 32 oraz gracz jest przy piłce pilka.direction = direction; pilka.speed = ilestam; pilka.possession = noone; //wyzeruj posiadanie piłki } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ikeni Opublikowano 14 Maja 2007 Autor Udostępnij Opublikowano 14 Maja 2007 Ale zawodnik piłkę trzyma zawsze w tym miejscu gdzie złapał i teraz nie zawsze można kopnąć piłkę. Jak to poprawić? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jakim Opublikowano 14 Maja 2007 Udostępnij Opublikowano 14 Maja 2007 Hm, możesz spróbować wyedytować (dodać kilka warunków itp.) ten kod albo go w ogóle usunąć: if possession!=noone { //ustaw pozycję piłki przy graczu x = possession.x; //możesz dodać coś do tych współrzędnych, np. "+lengthdir_x(16,possession.direction)" y = possession.y; } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ikeni Opublikowano 15 Maja 2007 Autor Udostępnij Opublikowano 15 Maja 2007 Dobra, dzięki. 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ę