Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Transparentar colores

Iniciado por Kalim, 20 de Junio de 2008, 07:29:19 PM

« anterior - próximo »

Kalim

Hola, muy bien tengo ya casi 1 año programando en visual basic 6.0, he hecho un par de programas como "chats", "enviar archivos", pero ahora queria aprender a poder hacer juegos. Bueno encontre esta libreria, la verdad que esta muy buena y empezé a probar, tengo los tutoriales y bueno. Pero la verdad que con esos tutoriales solo se puede aprender algo. Bueno, viendo los tutoriales hice un codigo que genera el mapa, la superficie. Pero ahora quiero agregarle ensima otros graficos, como por ejemplo el de una casa, pero no se como transparentar colores.

La superficie, o el mapa lo hice con "Map = m_gfx.MAP_Create(512, 384)"

Yo le quiero agregar como una superficie secundaria, se puede?? poner un mapa arriba de otro y transparentar el color negro?

[EX3]

Wenas.

Lo de generar un mapa con todo el contenido de la escena no es muy recomendable por que te puede quedar un grafico muy grande que ocupe mucha memoria y cueste operar luego con el. Lo suyo es pintar directamente lo que necesites en pantalla, en este caso, el suelo de la superficie y despues encima los objetos como casas y arboles, que asi de paso puedes jugar con la ordenacion para crear zonas que esten por encima del jugador y esas cosas.

Sobre las transparencias el mejor consejo, utiliza PNG's con fondo transparente. dx_lib32 interpreta el canal alpha de los PNG's a la hora de dibujarlos, con lo que no tienes que andar con colorkeys ni historias similares. Es lo mas comodo y facil.

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

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

Kalim

En primer lugar muchas gracias por la respuesta, ya descubri eso de transparentar colores... Si uso photoshop. Pero a que te refieres con "Poner lo que necesitas en pantalla". Pasa que soy principiante en esto de lo del video y me cuesta entender las cosas. Jajaja.

Muchas gracias por las 2 respuestas.

[EX3]

Cita de: "Kalim"a que te refieres con "Poner lo que necesitas en pantalla". Pasa que soy principiante en esto de lo del video y me cuesta entender las cosas. Jajaja.
Tranquilo, todos hemos empezado igual de perdidos con estos temas y algunos aunque no lo parezca aun estamos empezando ;)

Suponte que vas mostrar un escenario hecho a base de tiles, un mapa del Zelda por ejemplo. Un mapa grande podria tener una extension de 5000x5000 por poner un ejemplo, mientras que al usuario le estas mostrando un area de 800x600 que es el modo de video que has configurado. Procesar las llamadas a todos los tiles del nivel aunque solo se van a ver una 10º parte reduciria mucho la velocidad de tu programa de forma innecesaria, para que vas a dibujar algo que no vas a ver en pantalla? Lo que se suele hacer son tecnicas para que segun la posicion del personaje acotar la zona del mapa que se ve y dibujar solo dicha extension. De esta forma solo dibujas lo que se vera en pantalla, que serian unos pocos tiles. Esto se aplica igual para calculos de fisica y colisiones e incluso la IA de enemigos. De ahi por ejemplo que no sea optimo lo de armar todo el escenario en una sola imagen, que tenicamente seria mas facil de implementar que un mapa de tiles con scroll pero seria menos optimo en cuanto a rendimiento (y que las tarjetas graficas tienen un limite en el tamaño maximo de texturas).

Aqui la verdad que no te puedo ayudar demasiado por que no tengo experiencia desarrollando nada similar (de por si mi proyecto actual sea basa en escenarios fijos como en Prince of Persia, Another World o FlashBack) pero si preguntas en el foro de programacion mas de uno te sabra explicar mas o menos tecnicas para implementar esto en un juego tipo Zelda o un plataformas tipo Super Mario o te indicaran alguna pagina donde puedas encontrar informacion sobre ello.

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

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






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.