aaaaaa Opublikowano 5 Czerwca 2007 Udostępnij Opublikowano 5 Czerwca 2007 mam problem ustawiłem środek objectu na jego ręke (mianowicie jest to gosteg widok od góry z dwoma rękami coś jak u Raymana)i ustawiłem solin i w kolizji z blokiem speed=0 nibu wszystko jest dobrze ale jak podekde do bloku i się obruce to rę ka zostaje przed blokiem i normalnie się zatrzymuje a cała reszt wchoddzi na blok i nie wiem co zrobić . Używam opcij image_angle Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
KoRn Opublikowano 5 Czerwca 2007 Udostępnij Opublikowano 5 Czerwca 2007 image_angle to jest prześwitujący sie obiekt :P . Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sylwester Opublikowano 5 Czerwca 2007 Udostępnij Opublikowano 5 Czerwca 2007 image_angle to jest prześwitujący sie obiekt A to nie jest obracanie się obiektu czy coś takiego? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Micanser Opublikowano 5 Czerwca 2007 Udostępnij Opublikowano 5 Czerwca 2007 image_angle to obracanie a image_alpha to przezroczystość. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 5 Czerwca 2007 Udostępnij Opublikowano 5 Czerwca 2007 Jeżeli masz sterowanie na x-ach to może użyj skryptu place_free :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
jontor120 Opublikowano 6 Czerwca 2007 Udostępnij Opublikowano 6 Czerwca 2007 ja też miałem taki problem więc użyłem place_free i działało :thumbsup: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
aaaaaa Opublikowano 6 Czerwca 2007 Autor Udostępnij Opublikowano 6 Czerwca 2007 czyli dać kod if place_free speed=0 czy jak?? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Zychu Opublikowano 6 Czerwca 2007 Udostępnij Opublikowano 6 Czerwca 2007 w evencie prawo: if place_free(x+4,0) { x+4 } //sprawdza czy teren 4 pixele w prawo od objektu jest wolny. jezeli tak to przesuwa sie o te 4 pixele w prawo a jezeli nie nie przesuwa sie. i do innych eventów to samo tylko zmieniaj dane w nawiasach :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
aaaaaa Opublikowano 6 Czerwca 2007 Autor Udostępnij Opublikowano 6 Czerwca 2007 if keyboard_check_direct(vk_left) if place_free(x-4,0) {hspeed=-5} if keyboard_check_direct(vk_right) if place_free(x+4,0) {hspeed=5} if !keyboard_check_direct(vk_right) and !keyboard_check_direct(vk_left) {hspeed=0} if keyboard_check_direct(vk_up) if place_free(0,y+4) {vspeed=-5} if keyboard_check_direct(vk_down) if place_free(0,y-4) {vspeed=5} if !keyboard_check_direct(vk_up) and !keyboard_check_direct(vk_down) {vspeed=0} ja mam w steep taki kod Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
spyro Opublikowano 6 Czerwca 2007 Udostępnij Opublikowano 6 Czerwca 2007 Qrcze... Może jakoś sparentuj ten obiekt lub sprite'a z jego ręką :P Zresztą ten Twój @up kod jest do bani... Możesz też dać w obiekcie if distance_to_object(blok) <= 4 { speed = 0 } i też będzie dobrze :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
aaaaaa Opublikowano 6 Czerwca 2007 Autor Udostępnij Opublikowano 6 Czerwca 2007 nie kapujecie on się zatrzymuje ale jak ruszam myszką i object się kręci to wtedy to gdzie jest środek ustawiony zostaje przed blokiem a cała reszta wchodzi na niego Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Zychu Opublikowano 6 Czerwca 2007 Udostępnij Opublikowano 6 Czerwca 2007 aaaa.. nie uzywaj vspeed'ów i hspeed'ów do takiego ruchu speedy ssą najlepiej zrobić to na x'ach i y'ach xD Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
spyro Opublikowano 6 Czerwca 2007 Udostępnij Opublikowano 6 Czerwca 2007 Popieram :P Ogólnie speedy całkowicie odpadaja przy kolizjach. :) @aaaaa: To nie ma innego wytłumaczenia, jak to, że ręce i reszta to oddzielne obiekty xD Zparentuj je i po sprawie :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
aaaaaa Opublikowano 6 Czerwca 2007 Autor Udostępnij Opublikowano 6 Czerwca 2007 czyli zrobie na eventach kursorów Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ajot Opublikowano 6 Czerwca 2007 Udostępnij Opublikowano 6 Czerwca 2007 Popieram :P Ogólnie speedy całkowicie odpadaja przy kolizjach. :) Jezeli ktos potrafi poprawnie korzystac z masek, to naprawde sa miliard razy lepszy od ruchu na wspolrzednych min dzieki elastycznosci silnika. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
aaaaaa Opublikowano 7 Czerwca 2007 Autor Udostępnij Opublikowano 7 Czerwca 2007 zrobiłem na x-ach i nic dalej to samo Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
spyro Opublikowano 7 Czerwca 2007 Udostępnij Opublikowano 7 Czerwca 2007 A ja Wam powiem, że najlepsze są motiony xP Działają i na speedach i na x-ach i y-ach i nawet na kolizjach :P @Up: Hm, a może po prostu zapodaj przykład jakiś, bo chyba wszystkie możliwości zostały wyczerpane :D Albo pokombinuj z motion planning ;) Chociaż właściwie w tym wypadku to raczej nic nie pomoże... ;/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Adster Opublikowano 7 Czerwca 2007 Udostępnij Opublikowano 7 Czerwca 2007 Chyba powinieneś nałożyć okrągłą maskę na obiekt, która będzie obejmowała jego całego... ;) Ręka nie jest pośrodku, więc będziesz musiał pokombinować z jej pozycją (tzn. x+ileś y+ileś)...standardowe GMowe "Mask" będzie niewygodne, gdy orgin nie jest pośrodku. Przynajmniej tak zrozumiałem Twój problem i Twoje wyjaśnienia... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Maxpayn Opublikowano 7 Czerwca 2007 Udostępnij Opublikowano 7 Czerwca 2007 if keyboard_check_direct(vk_left) if place_free(x-4,0) {hspeed=-5} if keyboard_check_direct(vk_right) if place_free(x+4,0) {hspeed=5} if !keyboard_check_direct(vk_right) and !keyboard_check_direct(vk_left) {hspeed=0} if keyboard_check_direct(vk_up) if place_free(0,y+4) {vspeed=-5} if keyboard_check_direct(vk_down) if place_free(0,y-4) {vspeed=5} if !keyboard_check_direct(vk_up) and !keyboard_check_direct(vk_down) {vspeed=0} ja mam w steep taki kod if( keyboard_check_direct( vk_left ) ) { if( place_free( x-4, y ) ) then hspeed = -5; } if( keyboard_check_direct( vk_right ) ) { if( place_free( x+4, y ) ) then hspeed = 5; } if( !keyboard_check_direct( vk_right ) ) and ( !keyboard_check_direct( vk_left ) ) then hspeed = 0; if( keyboard_check_direct( vk_up ) ) { if( place_free( x, y+4) ) then vspeed = -5; } if( keyboard_check_direct(vk_down) ) { if( place_free( x, y-4) ) then vspeed = 5; } if( !keyboard_check_direct( vk_up ) ) and ( !keyboard_check_direct( vk_down ) ) then vspeed = 0; :sleeping: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
aaaaaa Opublikowano 7 Czerwca 2007 Autor Udostępnij Opublikowano 7 Czerwca 2007 przykro mi wstawiłem twój kod i dalej przenika przez sciany do połowy Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jaklub Opublikowano 8 Czerwca 2007 Udostępnij Opublikowano 8 Czerwca 2007 A więc, skoro do połowy, maski się kłaniają. Kombinowałeś też z image_angle i takie są efekty. Kod Maxpayna i stary kod aaaaaa powodują klinowanie się w ścianie, bo wartość ustawianego speeda jest większa od wartości umieszczonej w place_free. 4<5 Prędzej powinno być: if( keyboard_check_direct( vk_left ) ) { if( place_free( x-5, y ) ) then hspeed = -5; } if( keyboard_check_direct( vk_right ) ) { if( place_free( x+5, y ) ) then hspeed = 5; } if( !keyboard_check_direct( vk_right ) ) and ( !keyboard_check_direct( vk_left ) ) then hspeed = 0; if( keyboard_check_direct( vk_up ) ) { if( place_free( x, y+5) ) then vspeed = -5; } if( keyboard_check_direct(vk_down) ) { if( place_free( x, y-5) ) then vspeed = 5; } if( !keyboard_check_direct( vk_up ) ) and ( !keyboard_check_direct( vk_down ) ) then vspeed = 0; @Down: Dobrze. :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Maxpayn Opublikowano 8 Czerwca 2007 Udostępnij Opublikowano 8 Czerwca 2007 Załóżmy że jest tak: //A ta czerwona kropka to origin, a ten gruby pasek to ściana.\\ I myślę że dlatego przenika. :jezor: Ale i tak zamień ten twój kod na ten: if( distance_to_object( <ten objekt na ktorym ma sie zatrzymac> ) > 8 ) { if( keyboard_check_pressed( vk_up ) ) then vspeed = -5; if( keyboard_check_pressed( vk_down ) ) then vspeed = 5; if( keyboard_check_pressed( vk_left ) ) then hspeed = -5; if( keyboard_check_pressed( vk_right ) ) then hspeed = 5; } else { speed = 0; } I tu tylko zmieniasz to 8, jeśli wchodzi wściany dajesz więcej jeśli ich nie dotyka a się zatrzymuje dajesz mniej. ;) PS. A jeśli ten powyższy kod nie działa wróć do tamtego i zmień tam co jest na obrazku wyżej. :thumbsup: @Up: Jaklub był szybszy :P 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ę