peterz_pl Opublikowano 18 Września 2008 Udostępnij Opublikowano 18 Września 2008 Witajcie :) :thumbsup: Od niedawna głowię się nad tym jak zrobić podążanie obiektu po drodze myszki. Probowalem na patchach ale nie dalo rady. Zamieszczam GIF zebyście zrozumieli dokladnie o co chodzi a raczej o co biega :D xD :sp_ike: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ali Opublikowano 18 Września 2008 Udostępnij Opublikowano 18 Września 2008 jakim programem zrobiłeś tego gifa?? Post nic nie wnosi do tematu. Z takimi pytaniami piszę sie na PW. Warn Borek Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 18 Września 2008 Udostępnij Opublikowano 18 Września 2008 Może zrób alarm, który będzie do kolejki dodawał pozycję myszki, a w objekcie zrób poruszanie się do tych punktów. Zaraz napiszę kod... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pablo1517 Opublikowano 18 Września 2008 Udostępnij Opublikowano 18 Września 2008 lol, aleś mu odpowiedział. Ja kiedyś też się nad tym głowiłem, próbowałem dynamicznie tworzyć patch dodając punkty z położenia myszki ale d**a z tego. Myślę, że z własnym zapisywaniem pozycji myszki do tablicy powinno być ok :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
peterz_pl Opublikowano 18 Września 2008 Autor Udostępnij Opublikowano 18 Września 2008 jakim programem zrobiłeś tego gifa?? Prosze... http://www.speedyshare.com/947285279.html Musisz przeciągnąc gify do okienka.. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 18 Września 2008 Udostępnij Opublikowano 18 Września 2008 KONTROLER: GML (Create) // Tworzymy kolejkę global.queue = ds_queue_create(); GML (Step) temp = ds_queue_tail( global.queue ); // Pobieramy najnowszą pozycję z kolejki, żeby sprawdzić, czy mysz nie stoi w miejscu ( bo po co zaśmiecać kolejkę? :) ) px = string_copy( temp, 0, string_pos( ":", temp ) - 1 ); // Pobieranie X py = string_copy( temp, string_pos( ":", temp ) + 1, string_length( temp ) - string_pos( ":", temp ) - 1 ); // Pobieranie Y if( point_distance( real(px), real(py), mouse_x, mouse_y ) > 3 ) ds_queue_enqueue( global.queue, string(mouse_x) + ":" + string(mouse_y) + ":" ); // Jeżeli pozycja myszki zmieniła się przynajmniej o 3px, dodajemy ją do kolejki OBJEKT: GML (Step) if( variable_global_exists( "queue" ) ) // Jeżeli kolejka istnieje { var temp; if( !variable_local_exists( "px" ) ) // Jeżeli objekt został dopiero co stworzony podajemy mu pierwszą daną { temp = ds_queue_head( global.queue ); ds_queue_dequeue( global.queue ); px = string_copy( temp, 0, string_pos( ":", temp ) - 1 ); py = string_copy( temp, string_pos( ":", temp ) + 1, string_length( temp ) - string_pos( ":", temp ) - 1 ); } if( point_distance( x, y, real(px), real(py) ) > 3 ) move_towards_point( real(px), real(py), 1 ); // Jeżeli jesteśmy za daleko od punktu docelowego, poruszamy się do niego else { // W przeciwnym przypadku ( jesteśmy tuż obok punktu ) podajemy mu następną daną z kolejki temp = ds_queue_head( global.queue ); ds_queue_dequeue( global.queue ); px = string_copy( temp, 0, string_pos( ":", temp ) - 1 ); py = string_copy( temp, string_pos( ":", temp ) + 1, string_length( temp ) - string_pos( ":", temp ) - 1 ); } } Kontroler musi być w roomie, i room_speed musi być dość duży, ponieważ przy szybkim poruszaniu się myszy nie każda pozycja się zapisuje. EDIT: @2xUP: No napisałem cały kod, co chcesz :P EDIT2: No i jeszcze dodałem komentarze do połapania się ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
peterz_pl Opublikowano 18 Września 2008 Autor Udostępnij Opublikowano 18 Września 2008 Dzieki... działa nieźle.. ale troszke odstrasza mnie ten room_speed. To będzie Bijatyka.. więc znaczne zwiększenie szybkości jest nie wskazane. Ale zapisze sobie ten kod, mam juz pomysł gdzie go wykorzystać :) dzięki jeszcze raz. Do zamknięcia :) heh Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 18 Września 2008 Udostępnij Opublikowano 18 Września 2008 W dolnym lewym rogu strony masz opcje moderatora. Zawsze możesz zamknąć swój temat. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 18 Września 2008 Udostępnij Opublikowano 18 Września 2008 https://gmclan.org/up1558_11_draw_moving_gm6.html top działa całkiem sprawnie ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 18 Września 2008 Udostępnij Opublikowano 18 Września 2008 Czy tworzenie tylu objektów nie jest zbyt niewydajne? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 18 Września 2008 Udostępnij Opublikowano 18 Września 2008 e tam, chodzi sprawnie. Ja w swoim ostatnim programie po stworzeniu 2k obiektów miałem 58 fps 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ę