Skocz do zawartości

świat kręcący się wokół kamery


Chell

Rekomendowane odpowiedzi

  • Filar Społeczności

hej,

kombinuję z 2.5D, ale oczywiście wywalam się na samym początku.

    draw_sprite_ext(
        s_house,
        i,
        camera.x + lengthdir_x(
            distance_to_point(camera.x, camera.y),
            point_direction(camera.x, camera.y, x, y) + global.z_rotation
        ),
        camera.y + lengthdir_y(
            distance_to_point(camera.x, camera.y),
            point_direction(camera.x, camera.y, x, y) + global.z_rotation
        )-i,
        1,
        1,
        global.z_rotation,
        c_white,
        1
    );

 

cały zamysł polega na tym, żeby rysować wszystko wokół kamery - tak, by ta mogła się obracać wedle uznania gracza. obrót działa super, wszystko się stosuje do punktu odniesienia (kamery), ale nie daj boże spróbuję przesunąć kamerę - wtedy, nawet przed jakimikolwiek transformacjami z_rotation, x i y domku szaleje - przy kącie 0* np., gdy chcę przesunąć kamerę po prostu w górę, domki lecą w dół przedziwnym zygzakiem.

co robię nie tak?

domki.gif

 

edit:

nie krzyczcie za liczenie całej pozycji co iteracje xD docelowo oczywiście przeliczę to gdzie indziej

Odnośnik do komentarza
Udostępnij na innych stronach

Cytuj

nie krzyczcie za liczenie całej pozycji co iteracje xD docelowo oczywiście przeliczę to gdzie indziej

 

Już pisałem swój krzyk w szybkiej odpowiedzi :D
po za tym liczysz 2 takie same działanie z takim samym wynikiem podwójnie bo osobno dla obu osi zamiast wyciągnąć to przed funkcję i tylko podstawiać wynik.

Odnośnik do komentarza
Udostępnij na innych stronach

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