Micanser Opublikowano 10 Czerwca 2006 Udostępnij Opublikowano 10 Czerwca 2006 Hajka, mam takie pytanko, jak zrobić by w grze 3d jakiś obiekt (w kształcie kostki) się bezprzerwy obracał (nie gracz). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Vardi Opublikowano 10 Czerwca 2006 Udostępnij Opublikowano 10 Czerwca 2006 W helpie masz do tego funkcje. Przeczytaj poddziały Transformations i Creating Models w dziale 3D graphics. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Micanser Opublikowano 11 Czerwca 2006 Autor Udostępnij Opublikowano 11 Czerwca 2006 Nie potrafie dobrze angielskiego, dlatego pytam tutaj. Dlaczego nikt nie chce mi pomóc :crying: Prosze o pomoc :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nicolas Opublikowano 12 Czerwca 2006 Udostępnij Opublikowano 12 Czerwca 2006 Klik! A jak sie nie uda to tu. Bardziej pomoc nie potrafie, ale skoro nikt inny nie chce to ja chociaz sprobuje. XD EDIT: BTW: Triple post - gratz~~~~~~~~~~~~~~~~~! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Micanser Opublikowano 13 Czerwca 2006 Autor Udostępnij Opublikowano 13 Czerwca 2006 Dzięki :thumbsup: EDIT Mimo że mi pomogłeś Nicolas nadal prosze o pomoc, wiem już jak zmieniać kształt obiektu 3d, ale nadal nie wiem jak zrobić by się obracał, zazwyczaj obraca mi się cała mapa. <_< Kurde, zmuszasz mnie abym Ci dał ostrzeżenie. Nie pisz kilku postów pod rząd (używaj opcji edit), ok? Tymon Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 16 Czerwca 2006 Udostępnij Opublikowano 16 Czerwca 2006 Patrz, masz w manualu przykład: d3d_transform_set_identity(); d3d_transform_add_rotation_x(90); d3d_transform_add_translation(100,100,10); draw_sprite(spr,0,0,0); d3d_transform_set_identity(); Teraz przerób go: d3d_transform_set_identity(); d3d_transform_add_rotation_x(direction); d3d_draw_... d3d_transform_set_identity(); itd. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Micanser Opublikowano 16 Czerwca 2006 Autor Udostępnij Opublikowano 16 Czerwca 2006 już chyba kapuje, dzięki :thumbsup: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Micanser Opublikowano 29 Czerwca 2006 Autor Udostępnij Opublikowano 29 Czerwca 2006 Sorka że odswieżam temat, ale mam pewien problem, jeśli w obiekcie w drawie wpisze d3d_transform_set_identity(); d3d_transform_add_rotation_x(90); draw_sprite(spr,0,0,0); d3d_transform_set_identity(); Obiekt obraca się wokół własnej osi, ale także wokół punktu zerowego na planszy, jeśli do kodu dodam d3d_transform_add_translation(100,100,10); to obiekt wogóle się nie obraca. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
GiedeK Opublikowano 29 Czerwca 2006 Udostępnij Opublikowano 29 Czerwca 2006 d3d_transform_set_identity(); d3d_transform_add_rotation_x(90); draw_sprite(spr,0,0,0); d3d_transform_set_identity(); pisząc : d3d_transform_add_rotation_x(direction); direction=90; piszesz aby obiekt obrócił się o 90 stopni na osi x i na tym koniec :P a pisząc: d3d_transform_add_rotation_x(direction); direction+=1; piszesz aby obiekt obracał się o 1 stopien po osi x. O to Ci chodziło :P ?? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Micanser Opublikowano 29 Czerwca 2006 Autor Udostępnij Opublikowano 29 Czerwca 2006 Nie, chodzi mi o to że obiekt nie obraca się według własnej osi, tylko zatacza koła do okoła punktu zerowego na mapie. Spóbuje zrobić przykład w 2d of góry. http://www.gmclan.org/up863.html ściągnijcie plik OPOKAZ, mam nadzieje że dzieki temu zrozumiesz. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
GiedeK Opublikowano 29 Czerwca 2006 Udostępnij Opublikowano 29 Czerwca 2006 d3d_transform_add_rotation_z(direction); direction+=1; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Micanser Opublikowano 29 Czerwca 2006 Autor Udostępnij Opublikowano 29 Czerwca 2006 Jesli tak wpisze, przekręca się mapa. a obiekt zostaje w miejscu (może wpisuje to w złym miejscu, bo wpisuje to w Draw) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 29 Czerwca 2006 Udostępnij Opublikowano 29 Czerwca 2006 Hyh! A usuwasz transformacje? :P Daj na końcu rysowania: d3d_transform_set_identity() Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Micanser Opublikowano 29 Czerwca 2006 Autor Udostępnij Opublikowano 29 Czerwca 2006 Tak, chyba coś robie źle, to cały kod; d3d_transform_set_identity(); d3d_transform_set_rotation_z(direction); direction +=1; var tex; tex = background_get_texture(tanktex1); d3d_draw_block(x-10,y-7,wysokz +6,x+10,y+7,wysokz +2,tex,1,1); d3d_draw_block(x-11,y-8,0,x+11,y+8,0,cien,1,1); tex = background_get_texture(tanktex3); d3d_draw_block(x-10,y-6,wysokz +9,x+9,y+6,wysokz +6,tex,1,1); d3d_draw_block(x-6,y-4,wysokz +13,x+3,y+4,wysokz +9,tanktex3,1,1); d3d_draw_block(x+3,y-1,wysokz +12,x+8,y+1,wysokz +11,tanktex4,1,1); d3d_transform_set_identity(); Ten fragment kodu działa poprawnie var tex; tex = background_get_texture(tanktex1); d3d_draw_block(x-10,y-7,wysokz +6,x+10,y+7,wysokz +2,tex,1,1); d3d_draw_block(x-11,y-8,0,x+11,y+8,0,cien,1,1); tex = background_get_texture(tanktex3); d3d_draw_block(x-10,y-6,wysokz +9,x+9,y+6,wysokz +6,tex,1,1); d3d_draw_block(x-6,y-4,wysokz +13,x+3,y+4,wysokz +9,tanktex3,1,1); d3d_draw_block(x+3,y-1,wysokz +12,x+8,y+1,wysokz +11,tanktex4,1,1); Jest on wyświetlany poprawnie Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 29 Czerwca 2006 Udostępnij Opublikowano 29 Czerwca 2006 A co chcesz obrócić? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Micanser Opublikowano 29 Czerwca 2006 Autor Udostępnij Opublikowano 29 Czerwca 2006 Chce aby się obracał ten (niby) czołg. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
blackmaul Opublikowano 29 Czerwca 2006 Udostępnij Opublikowano 29 Czerwca 2006 Czołg? Sądziłem że to piramida :blink: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 29 Czerwca 2006 Udostępnij Opublikowano 29 Czerwca 2006 A która część kodu odpowiada za rysowanie "czołgu"? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Micanser Opublikowano 29 Czerwca 2006 Autor Udostępnij Opublikowano 29 Czerwca 2006 Pisałem wyżej var tex; tex = background_get_texture(tanktex1); d3d_draw_block(x-10,y-7,wysokz +6,x+10,y+7,wysokz +2,tex,1,1); d3d_draw_block(x-11,y-8,0,x+11,y+8,0,cien,1,1); tex = background_get_texture(tanktex3); d3d_draw_block(x-10,y-6,wysokz +9,x+9,y+6,wysokz +6,tex,1,1); d3d_draw_block(x-6,y-4,wysokz +13,x+3,y+4,wysokz +9,tanktex3,1,1); d3d_draw_block(x+3,y-1,wysokz +12,x+8,y+1,wysokz +11,tanktex4,1,1); Wygląda jak piramida? (Nic dziwnego, wkońcu jest tu tylko 5 prostokątów) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
GiedeK Opublikowano 29 Czerwca 2006 Udostępnij Opublikowano 29 Czerwca 2006 Polecam ten przykład: [TU] Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Micanser Opublikowano 29 Czerwca 2006 Autor Udostępnij Opublikowano 29 Czerwca 2006 Tylko że tu obraca się mapa, a nie czołg, a ja nie chce robić gry TPP tylko strategie RTS. Chodzi mi o coś takiego jak zrobił Bigshark w Cario 3, misiek sie obraca w miejscu i nic po za tym. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 29 Czerwca 2006 Udostępnij Opublikowano 29 Czerwca 2006 Masz no: d3d_transform_set_identity(); d3d_transform_add_rotation_z(direction); d3d_transform_add_translation(x,y,wysokz); var tex; tex=background_get_texture(tanktex1); d3d_draw_block(-10,-7,wysokz+6,10,7,wysokz+2,tex,1,1); d3d_draw_block(-11,-8,0,11,8,0,cien,1,1); tex=background_get_texture(tanktex3); d3d_draw_block(-10,-6,wysokz+9,9,6,wysokz+6,tex,1,1); d3d_draw_block(-6,-4,wysokz+13,3,4,wysokz+9,tanktex3,1,1); d3d_draw_block(3,-1,wysokz+12,8,1,wysokz+11,tanktex4,1,1); d3d_transform_set_identity(); Powinno działać. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Micanser Opublikowano 29 Czerwca 2006 Autor Udostępnij Opublikowano 29 Czerwca 2006 Wuielkie, wielkie dzięki Tymon, bedziesz Craditsach :thumbsup: (po raz kolejny udowodniłem że jestem niekumaty, ale w końcu prawdy nie da się ukryć) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 29 Czerwca 2006 Udostępnij Opublikowano 29 Czerwca 2006 To teraz trochę głupiego tłumaczenia. d3d_transform_set_identity(); Usuwa wszystkie transformacje :) d3d_transform_add_rotation_z(dir); Dodaje obrót na osi z. d3d_transform_add_translation(x,y,z); Ustawia pozycję w której ma być rysowany czołg etc. Liczę że zrozumiesz. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Micanser Opublikowano 29 Czerwca 2006 Autor Udostępnij Opublikowano 29 Czerwca 2006 Teraz już tak. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pablo1517 Opublikowano 19 Listopada 2006 Udostępnij Opublikowano 19 Listopada 2006 no cóż... u mnie to nie działa :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Micanser Opublikowano 19 Listopada 2006 Autor Udostępnij Opublikowano 19 Listopada 2006 Jeżeli masz wszystko i wydaje ci się że jest dobrze, to sprawdź czy nie zapomniałeś usunąć x i y przed wartościach. (chodzi mi o to, żebyś zamiast pisać d3d_draw_wall(x-3,y-3 itp napisał d3d_draw_wall(-3,-y... ) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 20 Listopada 2006 Udostępnij Opublikowano 20 Listopada 2006 Najlepiej jest napisać sobie funkcję transformSet: d3d_transform_set_identity(); d3d_transform_add_rotation_axis( argument[3], argument[4], argument[5], 0 ); d3d_transform_add_rotation_x( argument[6] ); d3d_transform_add_rotation_y( argument[7] ); d3d_transform_add_rotation_z( argument[8] ); d3d_transform_add_translation( argument[0], argument[1], argument[2] ); I używasz: transformSet( x, y, z, rotx, roty, rotz, dirx, diry, dirz ); d3d_draw_block( 1, 1, 1, -1, -1, -1, 0, 1, 1 ); d3d_transform_set_identity(); Dobrze jest dawać po każdym rysowaniu d3d_transform_set_identity bo czasami są problemy z kamerą. 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ę