RaistlinBlackRobe Opublikowano 31 Października 2007 Udostępnij Opublikowano 31 Października 2007 Otóż wykonałem skrypt ataku(pchnięcia) za pomocą timeline i zmiennej. Wygląda to tak: Hero(kawałek) Step: switch(atype) {case 0: timeline_index=tml_slash; if slashing=1 then timeline_position=0; attack=1; break; [color=#FF0000]case 1: timeline_index=tml_stab; if stabing=1 then timeline_position=0; attack=1; break;[/color]} Broń Draw: draw_sprite_ext(spr_weapon, 0, obj_hero.x + lengthdir_x(18+obj_hero.stab,obj_hero.image_angle), obj_hero.y + lengthdir_y(18,obj_hero.image_angle-70), 2, 2, obj_hero.direction+obj_hero.slash, image_blend, image_alpha); W timeline jest na początku stabing=0, później są stab+= i stab-=, a na końcu stabbing=1. Problem: broń zawsze porusza się w poziomie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 31 Października 2007 Udostępnij Opublikowano 31 Października 2007 Wzory redukcyjne znasz? Po co te -70? draw_sprite_ext(spr_weapon, 0, obj_hero.x + lengthdir_x(18+obj_hero.stab,obj_hero.image_angle), obj_hero.y + lengthdir_y(18,obj_hero.image_angle), 2, 2, obj_hero.direction+obj_hero.slash, image_blend, image_alpha); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
RaistlinBlackRobe Opublikowano 31 Października 2007 Autor Udostępnij Opublikowano 31 Października 2007 Wzory redukcyjne znasz? Po co te -70? draw_sprite_ext(spr_weapon, 0, obj_hero.x + lengthdir_x(18+obj_hero.stab,obj_hero.image_angle), obj_hero.y + lengthdir_y(18,obj_hero.image_angle), 2, 2, obj_hero.direction+obj_hero.slash, image_blend, image_alpha); Wczesniej bez tego -70 obrót był nierównomierny, ale usunięcie niepotrzebnego wyrazenia nie zaradziło sprawie. EDIT: Hmm, może by ustawić origin zależny od zmiennej. Niestety nie wiem jakiego wyrażenia/funkcji użyć. Pamiętam, że jakis topic był, ale nie mogę znaleźć. Gdyby ktoś mógł podać link do tamtego tematu albo podac rozwiązanie to byłbym wdzięczny. EDIT2: Znalazłem już. Teraz tylko pytanko jak zrobic, aby zmiana originu sprite'a odwoływała się do rysowania w tylko jednym objekcie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 31 Października 2007 Udostępnij Opublikowano 31 Października 2007 To moze byc troche pamieciozerne, ale: Create: sprite=sprite_duplicate(sprite_index) <kod zmiany originow, np: sprite_set_offset(sprite,xorigin,yorigin)> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 31 Października 2007 Udostępnij Opublikowano 31 Października 2007 http://www.gmclan.org/up152_11_transformacje2.html Hm? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
RaistlinBlackRobe Opublikowano 1 Listopada 2007 Autor Udostępnij Opublikowano 1 Listopada 2007 To moze byc troche pamieciozerne, ale: Create: sprite=sprite_duplicate(sprite_index) <kod zmiany originow, np: sprite_set_offset(sprite,xorigin,yorigin)> Dzięki. Myślę, że ten posiłek pamięciowy przejdzie przez mój system commanderów(jak graliście na pegazusie w der langrisser to wiecie o co chodzi :D ). Narazie nie zamykam. Tak na wszelki wypadek gdyby pojawiły się jakieś problemy. 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ę