Drwal Opublikowano 30 Grudnia 2008 Udostępnij Opublikowano 30 Grudnia 2008 Otóż potrzebuję kodu na następującą sytuacje: bohater dotyka jajka, z którego wykluwa się kaczka. I teraz tak: kaczka ma podążać za bohaterem, ale musi mieć podobny do bohatera ruch platformowy - spadać kiedy nic nie ma pod stopami i za nim iść. EDIT: Aha! Jeszcze ma zmieniać sprity gdy patrzy w lewo czy w prawo. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TeoTN Opublikowano 30 Grudnia 2008 Udostępnij Opublikowano 30 Grudnia 2008 Create dla kaczki: dotknieta=0; Event Colision z bohaterem dla kaczki: dotknieta=1; Step dla kaczki: vspeed = 2; if distance_to_object(obj_bohater)>16 { move_towards_point(obj_bohater.x,obj_bohater.y,5) } (platformy muszą być solid) Keyboard left: sprite_index=spr_lewo; Keyboard right: sprite_index=spr_right; Czy jakoś takoś =D Pisane z pamięci Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Drwal Opublikowano 30 Grudnia 2008 Autor Udostępnij Opublikowano 30 Grudnia 2008 Ale żeś namieszał! Chodziło miżeby po dotknięciu bohatera jajo zmieniało się w kaczke, ale to nic. Na początku mam błąd "unkown variable "x" :death: ". Kaczka gdy się tworzy to leciiiii daleko poza "y" room'u. Ktoś jeszcze to potrafi zrobić? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jaklub Opublikowano 30 Grudnia 2008 Udostępnij Opublikowano 30 Grudnia 2008 Jajko kolizja z bohaterem (prawdopodobnie obiektem mario, sądząc po tym, co masz w sygnie) GML instance_create(x,y,kaczka); repeat(8) { th=instance_create(x,y,skorupka); th.speed=choose(4,5,6,7,8); th.direction=random(360); } instance_destroy(); Spróbuj to zrobić jakoś tak: kaczka: step kaczki: GML gravity_direction=270; if place_free(x,y+1) gravity=0.5; else gravity=0; if vspeed>12 vspeed=12; if mario.x-64<x and place_free(x+4,y) x+=4; if mario.x+64>x and place_free(x-4,y) x-=4; if mario.x<x dir=-1; else dir=1; if dir=1 sprite_index=kaczka_prawo; if dir=-1 sprite_index=kaczka_lewo; dir to kierunek gapienia się kaczki. 1 to prawo, -1 to lewo. Dwie ostatnie linijki można zastąpić tym: GML image_xscale=dir; Wtedy musisz mieć zarejestrowanego GMa (chyba) i origin sprita musi być na środku. klawisz skoku: GML alarm[0]=64/4; alarm[0]: twój skrypt skoku, np: GML if !place_free(x,y+1) vspeed=-8; kolizja z ziemią: twoja kolizja z ziemią. Powinno działać, ja tego nie testowałem. Kaczka nie będzie grzeszyć inteligencją, ale będzie za graczem łazić i skakać. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TeoTN Opublikowano 30 Grudnia 2008 Udostępnij Opublikowano 30 Grudnia 2008 Boś nie zsolidował =P Przykład PS wiem, że ta kaczka krąży dookoła bohatera, ale nie chce mi się zmieniać, bo kod przybrałby w linijki =D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jaklub Opublikowano 30 Grudnia 2008 Udostępnij Opublikowano 30 Grudnia 2008 TeoTN, ten przykład jest niezbyt dobry. Bohater ma źle zrobioną grawitację (y+1 zamiast y+sprite_height+2). vspeed=2 jest po prostu nie potrzebne. Do tego za coś takiego creditsy brać? Skandal, bez tych creditsów byłbym w stanie to zrozumieć. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Drwal Opublikowano 30 Grudnia 2008 Autor Udostępnij Opublikowano 30 Grudnia 2008 TeoTN dzięki. Jesteś w Credits, bo uzyskałem zadowalający efekt :thumbsup Edit: A co można zrobić żeby ta kaczka omijała obiekty solid by dotrzeć do obj_hero? Hero --------------\ SOLID|SOLID|SOLID| ^ |SOLID|SOLID |-------------------/ | kaczka P.S: Za TĄ pomoc tym bardziej dam do Credits. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TeoTN Opublikowano 30 Grudnia 2008 Udostępnij Opublikowano 30 Grudnia 2008 Był taki przykład sterowania kursorem - po kliknięciu myszą na mapie tworzył się obiekt, do którego zmierza inny obiekt. Znajdź ten przykład, przerób (zamiast zdążania do celownika to do bohatera) i masz gotowe =) Nie zrobię Ci niestety tego, bo nie mam dostępu do GMa w tej chwili. Aha i zamień vspeed=2 na gravity=1; =) 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ę