SFML - nakładanie się tekstur, decydowanie o tym, która jest wyżej
Ostatnio zmodyfikowano 2012-05-21 22:57
Virpi Temat założony przez niniejszego użytkownika |
SFML - nakładanie się tekstur, decydowanie o tym, która jest wyżej » 2012-05-16 17:49:50 W swoim projekcie 2D przy wykorzystaniu SFML mam 2 okna, na których scenę widać z boku i z góry. Dzięki temu wszystko toczy się tak jakby w 3D. CSlimak * wskaz = dynamic_cast < CSlimak *>( moje_akwarium.wsk );
if( wskaz != NULL ) { slimaka.SetPosition( pozycja.x, pozycja.y ); slimaka.Resize( hitbox.x, hitbox.y ); oknoboczne.Draw( slimaka ); slimak_z_gory.SetPosition( pozycja.x, pozycja.z ); slimak_z_gory.Resize( hitbox.x, hitbox.z ); oknogorne.Draw( slimak_z_gory ); } Pojawia się jednak problem, jeśli na jednym widoku 2 sprajty nakładają się na siebie. Wtedy na wierzchu pojawia się ten, który jest rysowany później, a chodzi mi o to, żeby na wierzchu był ten, który znajduje się bliżej ekranu. Jednak nie znam takiej funkcji w SFML, która obsługuje wektor 3d. Oczywiście każdy element mojego programu ma 3 współrzędne położenia i 3 wsp. hitbox. Podobno SFML można dobrze zintegrować z OpenGL i tam są takie narzędzia. Możecie podpowiedzieć, jak można to łatwo poprawić? |
|
DejaVu |
» 2012-05-20 19:00:27 Moje doświadczenie mówi, że musisz napisać własną klasę do rysowania sprajtów i wówczas wykorzystywać dodatkowo współrzędną Z. |
|
hincu |
» 2012-05-20 21:05:53 latwo? nie, zapoznaj sie z opengl, lub zostaw 3d, sfml to biblioteka do 2d nie 3d... |
|
DejaVu |
» 2012-05-21 12:48:53 ja tam pisalem gre 3d w sfml na zaliczenie projektu, Wiec sie da - ale trzeba zrobic to co wyzej napisalem :) |
|
m4tx |
» 2012-05-21 16:20:03 sfml to biblioteka do 2d nie 3d... |
Co ty nie powiesz... Ciekawe jakim cudem w takim razie napisałem wyświetlanie plików .obj w SFML-u, hm? Magia? :P A do tego wcale nie trzeba OpenGL-a, czy czegoś podobnego... |
|
diego997 |
» 2012-05-21 22:57:50 Dejavu udostenij exe swojego projektu i daj linka ;D |
|
« 1 » |