Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: Endilicam en 25 de Octubre de 2007, 05:30:44 PM

Título: Problema DirectX en 2D con Matrix y vista isométrica
Publicado por: Endilicam en 25 de Octubre de 2007, 05:30:44 PM
Buenas, tengo un problemilla y a ver si alguien me puede ayudar. Estoy haciendo un juego en 2D con vista isométrica en C# y es imprescindible que quede bién en modo ventana.

Explico mi problema, antes de ser isométrica era una vista "militar", es decir, el "tile" era cuadrado no como un "rombo" que es en isométrica. Y tengo estas líneas:

Matrix mat = new Matrix();
mat.Scale(1.25f, 1.25f, 0);
sprite.Transform = mat;


Me funcionaba perfecto pero en isométrico me hace un efecto como esta imágen:

(http://img.photobucket.com/albums/v314/Endilicam/Juego/matrix1_25.jpg)

Se ve que entre cada "tile" se ve como un borde que no debería existir y es porque al ampliarlo no encajan los "tile".

Si pongo la escala a 1f queda así:

(http://img.photobucket.com/albums/v314/Endilicam/Juego/matrix1.jpg)

Donde queda perfecto y encajan los "tile".

La cuestión es si es normal lo que me pasa o si hay otra forma de hacer más grandes los "tile" y no usando el Matrix. También me he fijado en el juego Ultima Online que el tamaño es fijo y puedes hacer más grande la ventana. Aunque supongo que los juegos isométricos podrás cambiar el tamaño de la textura sin que se distorsione.

Gracias de antemano y espero que me enseñéis la luz :).

Endilicam.
Título: Problema DirectX en 2D con Matrix y vista isométrica
Publicado por: zxs en 26 de Octubre de 2007, 07:48:01 PM
[offtopic brutal]
no tiene nada que ver  :oops: , pero ¿que estás usando: managed directx - xna - opengl?

es para una aplicacioncilla que tengo pensado empezar en C# y necesito usar un poco de gráficos y no se por cual tirar...
[/offtopic brutal]

de la pregunta, pues ni idea, pero es curioso...
Título: Problema DirectX en 2D con Matrix y vista isométrica
Publicado por: [EX3] en 27 de Octubre de 2007, 03:33:25 AM
Lo de la "junta" de las texturas, si no recuerdo mal habia que modificar las coordenadas UV de la textura para realizar la correccion de pixeles, en este  (http://www.stratos-ad.com/forums3/viewtopic.php?t=9117&highlight=uniones+texturas)tema se trato el asunto por encima, por si te sirve de algo.

zxs, yo te recomendaria XNA si vas a trabajar con C# y DirectX. Te va a resultar mas comodo a la larga.

Salu2...