Exigo Opublikowano 8 Listopada 2008 Opublikowano 8 Listopada 2008 Więc tak. Jak się po tytule domyślacie, chodzi mi o twz. "Szmacianą Lalkę" drodzy użytkownicy. Moja "lalka", składa się z punktów.... głowy, obojczyka, gaci, łokci oraz kolan. Jak widać, brakuje tutaj nadgarstków i stóp.. ale doszedłem do wniosku iż poco robić wszystko skoro nawet nie wiemy cy zadziała... Ale przejdźmy teraz do sedna sprawy bo po to przecież pisze ten tekst, prawda? Więc, poszczególne elementy ciała reagują między sobą, w ten sposób, że trzymają pomiędzy sobą dystans, czyli np. głowa "trzyma się" obojczyka itd. (nie uwzględniamy kąta nachylenia). Postanowiłem zrobić grawitacje... Działa, wszystko pinkne. Ale brakuje najbardziej elementarnej rzeczy... Bowiem chodzi mi o reakcje z otoczeniem. Tu zrobiłem jakąś przeszkodę (kwadrat dokładnie)... dodałem jakąś badziewną(zaraz powiem czemu) interakcję z tą przeszkodą, i dupa, nie działa... lalka dosłownie przelatuje przez przeszkodę. W czym problem?... załóżmy że to wy robicie RagDoll, to co bierzecie pod uwagę?.. Może coś przeoczyłem?
Exigo Opublikowano 8 Listopada 2008 Autor Opublikowano 8 Listopada 2008 Podał bym, ale za dużo z tym zachodu bo mam to na drugim kompie... Zanim znajdę pendrive'a, to prawdopodobnie minie trochę czasu, więc nacieszcie się opisem. Właśnie dlatego napisałem to w tak szczegółowy sposób.
kryniak Opublikowano 8 Listopada 2008 Opublikowano 8 Listopada 2008 Może powiąż części ciała z obiektem-parentem, a później tym rodzicem będziesz zdarzenia wykonywać?
Exigo Opublikowano 8 Listopada 2008 Autor Opublikowano 8 Listopada 2008 Bez kolidowania.... po prostu pokazuję, na czym się opiera moja lalka. Information about object: lud Sprite: <no sprite> Solid: false Visible: true Depth: 0 Persistent: false Parent: <no parent> Mask: <same as sprite> Create Event: execute code: glowa_x = x; glowa_y = y-30; obojczyk_x = x; obojczyk_y = y; le_lokiec_x = x-40; le_lokiec_y = y; pr_lokiec_x = x+40; pr_lokiec_y = y; gacie_x = x; gacie_y = y+30; le_kolano_x = x-30; le_kolano_y = y+70; pr_kolano_x = x+30; pr_kolano_y = y+70; Step Event: execute code: // Głowa z obojczykiem. glowa_x += lengthdir_x(point_distance(glowa_x,glowa_y,obojczyk_x,obojczyk_y)-15,point_direction(glowa_x,glowa_y,obojczyk_x,obojczyk_y)); glowa_y += lengthdir_y(point_distance(glowa_x,glowa_y,obojczyk_x,obojczyk_y)-15,point_direction(glowa_x,glowa_y,obojczyk_x,obojczyk_y)); // Gacie z obojczykiem. gacie_x += lengthdir_x(point_distance(gacie_x,gacie_y,obojczyk_x,obojczyk_y)-15,point_direction(gacie_x,gacie_y,obojczyk_x,obojczyk_y)); gacie_y += lengthdir_y(point_distance(gacie_x,gacie_y,obojczyk_x,obojczyk_y)-15,point_direction(gacie_x,gacie_y,obojczyk_x,obojczyk_y)); // Lewy łokiec z obojczykiem. le_lokiec_x += lengthdir_x(point_distance(le_lokiec_x,le_lokiec_y,obojczyk_x,obojczyk_y)-30,point_direction(le_lokiec_x,le_lokiec_y,obojczyk_x,obojczyk_y)); le_lokiec_y += lengthdir_y(point_distance(le_lokiec_x,le_lokiec_y,obojczyk_x,obojczyk_y)-30,point_direction(le_lokiec_x,le_lokiec_y,obojczyk_x,obojczyk_y)); // Prawy łokieć z obojczykiem. pr_lokiec_x += lengthdir_x(point_distance(pr_lokiec_x,pr_lokiec_y,obojczyk_x,obojczyk_y)-30,point_direction(pr_lokiec_x,pr_lokiec_y,obojczyk_x,obojczyk_y)); pr_lokiec_y += lengthdir_y(point_distance(pr_lokiec_x,pr_lokiec_y,obojczyk_x,obojczyk_y)-30,point_direction(pr_lokiec_x,pr_lokiec_y,obojczyk_x,obojczyk_y)); // Lewe kolano z gaciami. le_kolano_x += lengthdir_x(point_distance(le_kolano_x,le_kolano_y,gacie_x,gacie_y)-30,point_direction(le_kolano_x,le_kolano_y,gacie_x,gacie_y)); le_kolano_y += lengthdir_y(point_distance(le_kolano_x,le_kolano_y,gacie_x,gacie_y)-30,point_direction(le_kolano_x,le_kolano_y,gacie_x,gacie_y)); // Prawo kolano z gaciami. pr_kolano_x += lengthdir_x(point_distance(pr_kolano_x,pr_kolano_y,gacie_x,gacie_y)-30,point_direction(pr_kolano_x,pr_kolano_y,gacie_x,gacie_y)); pr_kolano_y += lengthdir_y(point_distance(pr_kolano_x,pr_kolano_y,gacie_x,gacie_y)-30,point_direction(pr_kolano_x,pr_kolano_y,gacie_x,gacie_y)); Draw Event: execute code: // Rysujemy linie pomiędzy punktami. draw_line(glowa_x,glowa_y,obojczyk_x,obojczyk_y); draw_line(obojczyk_x,obojczyk_y,le_lokiec_x,le_lokiec_y); draw_line(obojczyk_x,obojczyk_y,pr_lokiec_x,pr_lokiec_y); draw_line(obojczyk_x,obojczyk_y,gacie_x,gacie_y); draw_line(gacie_x,gacie_y,le_kolano_x,le_kolano_y); draw_line(gacie_x,gacie_y,pr_kolano_x,pr_kolano_y); // Rysujemy punkty nawigacyjne. draw_sprite(s,0,glowa_x,glowa_y); draw_sprite(s,0,obojczyk_x,obojczyk_y); draw_sprite(s,0,le_lokiec_x,le_lokiec_y); draw_sprite(s,0,pr_lokiec_x,pr_lokiec_y); draw_sprite(s,0,gacie_x,gacie_y); draw_sprite(s,0,le_kolano_x,le_kolano_y); draw_sprite(s,0,pr_kolano_x,pr_kolano_y);
kryniak Opublikowano 8 Listopada 2008 Opublikowano 8 Listopada 2008 Nie masz zdefiniowanego sprite_index, więc nie ma też kolizji.
Exigo Opublikowano 8 Listopada 2008 Autor Opublikowano 8 Listopada 2008 Tylko że kolizja polega na "collision_point(fufu)"...
kryniak Opublikowano 8 Listopada 2008 Opublikowano 8 Listopada 2008 Tylko że kolizja polega na "collision_point(fufu)"... Podaj kod kolizji =).
Exigo Opublikowano 8 Listopada 2008 Autor Opublikowano 8 Listopada 2008 Powyższy kod, to wszystko. =P Adam, sprawdziłem... nie działa. :/ (chociaż i tak dzięki za zwrócenie uwagi na tą błahostkę bo przeoczyłem.) :P
Maxpayn Opublikowano 8 Listopada 2008 Opublikowano 8 Listopada 2008 Chodzi Ci o coś takiego http://www.gmclan.org/up1775_4_Ragdoll.html?
Exigo Opublikowano 8 Listopada 2008 Autor Opublikowano 8 Listopada 2008 Tak, chodzi mi o coś takiego.
PsichiX Opublikowano 8 Listopada 2008 Opublikowano 8 Listopada 2008 hehe, a ja juz mialem dac xenonowego ragdolla, a tu maxpayn szybszy ;P no nic
Maxpayn Opublikowano 8 Listopada 2008 Opublikowano 8 Listopada 2008 A daj bo to co dałem stare jest i nie mam pliku gm6. ;p
PsichiX Opublikowano 8 Listopada 2008 Opublikowano 8 Listopada 2008 A zostawie sobie na razie ;p dopracuje i moze do jakiejs gierki niebawem dodam ;p
Ali Opublikowano 8 Listopada 2008 Opublikowano 8 Listopada 2008 ktoś by mógł dać tą grę tylko w gm6 czy coś w tym stylu
Exigo Opublikowano 8 Listopada 2008 Autor Opublikowano 8 Listopada 2008 To dowiem się wreszcie jak zrobić tego RagDoll'a? :glare:
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ę