Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Solo Necesito Un Simple Rectangulo!

Iniciado por cemar, 31 de Octubre de 2004, 06:50:03 PM

« anterior - próximo »

cemar

 Hola. Vereis, estoy empezando con esto de la programación gráfica. De hecho, debo llevar cerca de un añito utilizando mis ratos libre (por desgracia no son muchos) leyendo cosas sobre directx en particular. Por fin me he atrevido a dar el siguiente paso y me he puesto a hacer un parchís en tres dimensiones. Pero sigo teniendo muchas dudas.

Por ejemplo, el tablero lo dibujo como textura de un par de triangulos que están formando un cuadrado. Pero claro, el dibujo del tablero que tengo ocupa cerca de 300 kb en bmp o 21 kb en png. Y yo supongo que habra mejores formas de hacer esto.

Otra dudilla. De vez en cuando, por ejemplo al empezar o al terminar la partida, quiero que aparezca un mensaje dentro de un rectangulo en el centro de la pantalla. Para ello me gustaría mostrar un rectangulo de color gris clarito, con un borde negro. No se me ocurre como se puede hacer esto sin utilizar una textura que incluya el rectangulo en cuestión (con color de relleno y con borde). Supongo yo que eso será una salvajada. Sobre todo, en juegos o entornos que necesiten optimizar todo al máximo. Este no es el caso pero bueno, no esta mal hacer las cosas bien.

Por último, me he encontrado con el problema de como elegir la ficha que quiero mover. Claro, al hacer clic con el ratón, éste me devuelve una coordenada en 2d. Es muy complicado hacer la conversion del 2d de la pantalla al 3d del juego. Creo que en el SDK de directx hay algo al respecto. Me lo recomendais, o hay algún tutorial mejor.


Muchas gracias.
Un saludo.
Cemar

nsL

 Antes de meterme con 3D yo me pondria con 2D ;)

En DX no se como iran las funciones, pero SDL por ejemplo puedes usar SDL_FillRect para crear rectangulos de colores. Para poner borde, yo lo que haria es crear un rectangulo con el color del borde y luego otro rectangulo mas pequeño encima de ese que lo cubra casi entero, menos un poko y que sea del color del que quieras que sea el cuadrado...

Una imagen mejor:


Te creas una funcion que pases por argumentos ancho y alto y el mensaje, y ya ta :P

Mirate la doc de DX que seguro que hay alguna funcion tipo FillRect de SDL

Saludos!  B)  
Yo no muero hasta la muerte -

[EX3]

 Eso mismo pero mediante quads (dos triangulos formando el rectangulo) sin textura aplicandole el color que quieras. En d3d ya no existen funciones del tipo Fill_Rect (echo de menos Direct Draw :()

Salu2...  
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

cemar

 Buenas.

Muchas gracias por vuestras respuestas. Que solución más fácil. Es tan sencilla que no se me había ocurrido.

Respecto al tablero que me aconsejais. Como os decía estoy utilizando un dibujo con todo el tablero. Lo pongo de textura sobre un par de triangulos formando el cuadrado y a correr. Pero no creo que sea muy efectivo porque para que no se pierda calidad estoy utilizando un dibujo de 700 x 700 pixels.

Como lo haríais vosotros?

Gracias. Un saludo.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.