Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

GML
d3d_transform_set_rotation_x(angle) Sets the transformation to a rotation around the x-axis with the indicated amount.

d3d_transform_set_rotation_y(angle) Sets the transformation to a rotation around the y-axis with the indicated amount.

d3d_transform_set_rotation_z(angle) Sets the transformation to a rotation around the z-axis with the indicated amount.

Dokumentacja.

Opublikowano

d3d_transform_set_identity();

d3d_transform_set_rotation_x(15);

d3d_transform_set_translate(x,y,z);

d3d_draw_block(blablabla);

d3d_transform_set_identity();

 

Voila :)

Opublikowano

Hmm, powiedzmy że jest ok, ale dziwadła się dzieją. Bowiem tak: Wiecie o tzw. współrzędnych na roomie?.. te X i Y. No i tak... jeśli obiekt (ten klocek) odsunę od punktu x=0 i y=0 na jakąś odległość, to jakoś dziwnie "lata".. jakby miał "środek" daleko od siebie.. O_o

Opublikowano

d3d_transform_set_identity();

d3d_transform_set_rotation_x(wartość);

d3d_transform_set_translate(x,y,z);

d3d_draw_block(10,10,10,-10,-10,-10,textura,1,1);// wartości obiektów 3d powinny być bez x i y i środek będziesz miał na środku

d3d_transform_set_identity();

 

w zależności jak ustawisz wartości obiektu "d3d_draw_block();" środek obrotu i w ogóle punktu możesz zmieniać

zgaduje ze wartości mosz pokićkne

Opublikowano

Mam coś takiego:

 

Create Event:

execute code:

 

angle = 0;

 

Step Event:

execute code:

 

if keyboard_check(vk_left)

{angle -= 1;}

if keyboard_check(vk_right)

{angle += 1;}

 

 

Draw Event:

execute code:

 

d3d_transform_set_identity();

d3d_transform_add_rotation_x(angle);

d3d_transform_set_translation(0,0,0);

d3d_draw_block(x+sinus,y,0,x+5+sinus,y+5,5,sprite_get_texture(tex_statek,1),1,1)

;

d3d_transform_set_identity();

 

I nie działa, znaczy... nie "kręci". Poprawcie, to jakoś się połapię, a tak to będziemy błądzić. :P

Opublikowano
Mam coś takiego:

 

Create Event:

execute code:

 

angle = 0;

 

Step Event:

execute code:

 

if keyboard_check(vk_left)

{angle -= 1;}

if keyboard_check(vk_right)

{angle += 1;}

 

 

Draw Event:

execute code:

 

d3d_transform_set_identity();

d3d_transform_add_rotation_x(angle);

d3d_transform_set_translation(0,0,0);

d3d_draw_block(x+sinus,y,0,x+5+sinus,y+5,5,sprite_get_texture(tex_statek,1),1,1)

;

d3d_transform_set_identity();

 

I nie działa, znaczy... nie "kręci". Poprawcie, to jakoś się połapię, a tak to będziemy błądzić. :P

mówiłem że masz pokićkane wartości jak już to

 

Draw Event:

execute code:

 

d3d_transform_set_identity();

d3d_transform_add_rotation_x(angle);

d3d_transform_add_translation(x,y,2.5); // tu był błąd @ down down i tu też już poprawiłem

d3d_draw_block(2.5,2.5,2.5,-2.5,-2.5,-2.5,sprite_get_texture(tex_statek,1),1,1); // i tu był błąd teraz masz centralnie na środku ustawiony punkt obrotu

 

d3d_transform_set_identity();

 

Edit : ups jeden minus zjadłem, poprawione

Opublikowano
Nadal się nie rusza. :blink:

PS: Poprawiłem minusa jak by co.

hmm to nie wiem , musiał bym zobaczyć plik , to co dałem powinno działać albo daj mi sekundę ja zaraz zrobię

 

Mam

d3d_transform_add_translation(x,y,2.5); // tu powinno być add a nie set

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...