Skocz do zawartości
Ice Cube

Obracające się drzwi 3d

Rekomendowane odpowiedzi

Cześć 

z racji tego iż z matmy jestem kiepski

walczę nad obracającymi się dżwiami

ale nie wychodzi ;/

 

ruchdrzwi+=0.2
if ruchdrzwi>180 ruchdrzwi=0
d3d_draw_wall(x-4+sin(ruchdrzwi),y-4+sin(ruchdrzwi),25,x+4+sin(ruchdrzwi),y+4+sin(ruchdrzwi),10,sprite_get_texture(spr_drzwi,1),1,1)

 


chciałbym aby drzwi obracały się w miejscu help! ;) 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

1. Źle używasz trygonometrii do obracania wektorów, potrzebne są 2 funkcje trygonometryczne, cos i sin, coś takiego:

// x' = x * cos α - y * sin α
// y' = x * sin α + y * cos α

var angle = degtorad(ruchdrzwi); 
var rx = cos(angle);
var ry = sin(angle);

d3d_draw_wall(
  x - 4 * rx,
  y - 4 * ry,
  25,
  x + 4 * rx,
  y + 4 * ry,
  10,
  sprite_get_texture(spr_drzwi,1),
  1,
  1
)

2. Użyj macierzy, macierze są super :P

// Wersja powyższego rozwiązania, ale przedstawione jako macierz:
// [cos α -sin α]
// [sin α cos α]

var angle = degtorad(ruchdzwi);

d3d_transform_set_rotation_z(angle);
d3d_transform_add_translation(x, y);

d3d_draw_wall(-4, 0, 25, 4, 0, 10, sprite_get_texture(spr_drzwi, 1), 1, 1)

d3d_transform_set_identity();

 

  • Super (+1) 1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

A tak po za tym to "ruchdrzwi" zdefiniowałeś jako stopnie a funckja sin() za parametr kąta przyjmuje radiany. funkcja dsin() przyjmuje stopnie

  • Lubię (+1) 1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

sinusy, kosinusy,radiany... popaliły mi sie styki 

 

 

angle+=4 if angle>360 angle=0
d3d_transform_set_rotation_z(angle);
d3d_transform_add_translation(x, y,2);
d3d_draw_wall(-4, 0, 25, 4, 0, 10, sprite_get_texture(spr_przejscie, 1), 1, 1)
d3d_transform_set_identity();

 

chyba pokochałem macierze :P -czymkolwiek one są :D 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

To tylko zalążek macierzy. Dużo bardziej rozbudowali to dopiero w GMS2

  • Wow! (+1) 1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
6 minut temu, I am Lord napisał:

To tylko zalążek macierzy. Dużo bardziej rozbudowali to dopiero w GMS2

poproszę o prosty tutorial dot. tych wszystkich zagadnień matematycznych powyżej

najlepiej po polsku

dzięki :)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Tylko 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ę tutaj.

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×