Que tal, ando dando mis primeros pasos tratando de crear un juego , por eso mis tantas dudas. Ahora me surgio lo siguiente:
Cargo desde un fpg el Protagonista , pero se carga con el fondo negro del cual lo saque y hice Split image con el programita, para luego meterlo en el FPG, o sea. se ve el personaje con el fondo rectangular negro... como hago para sacar ese fondo del personaje? Hay algo que habre hecho mal?
Aca dejo la imagen de como se ve el Personaje del juego.
http://img204.imageshack.us/i/mario0.png/ (http://img204.imageshack.us/i/mario0.png/)
En mi caso el escenario tiene un fondo celeste (el cielo), y el personaje tiene un fondo rectangular negro como veran en la imagen. Lo que pretendo es que tenga transparencia para estar en un fondo del color que sea..
De paso quisiera preguntar otra cosa, es respecto al sistema de Tiles (cuadraditos formados por pixeles donde el personaje va avanzando uno por uno... se que la explicacion esta de mas). De que forma puedo crear un sistema de Tiles? Alguien me podria dar una buena ayuda con eso tmb? por msn si seria posible, ya que es un tema complejo, mi msn es: milmiguel@live.com.ar.
Bueno y porfavor no se olviden el tema principal de este post, el tema del fondo del grafico del Personaje del juego cargado.. Gracias!
Dejo otra foto Bien bien clara del problema:
http://img231.imageshack.us/i/sinttulogg.png/ (http://img231.imageshack.us/i/sinttulogg.png/)
Por defecto, el color transparente en 8bits (256 colores) es el color 0, en el resto es el negro puro (color 0, o sea, rgb=(0,0,0) en 16 bits y rgba=(0,0,0,0) en 32 bits).
Si no estás usando el canal de alphas, te recomiendo que lo guardes en un BMP normal (24 bits) y pongas los colores que quieras transparentes en negro (un truco es ponerlo primero en un color que destaque y se vea, como rosa chillón o verde radiactivo, y después uses la herramienta relleno o la goma de borrar con el botón secundario para ponerlo en negro), y luego los metas en un FPG con FPGEdit o cualquier otro programa que guarde en FPG.
Respecto al tema de tiles, de momento no hay un motor oficial, tienes que hacértelo tú. Ya hay unos cuantos hilos al respecto, así como las formas de implementarlo (procesos por tiles, o dibujando en un mapa).
Si no, también hay algunos motores de tiles ya hechos. No te puedo recomendar ninguno porque no puedo ser imparcial en este tema ;D
Es que de hecho, esta en negro el fondo..., mira el Sprite como lo tengo:
http://img576.imageshack.us/i/sinttulovkq.png/ (http://img576.imageshack.us/i/sinttulovkq.png/)
Tendría que mirar el canal alpha.
En su momento, años ha, tuve problemas similares, y por eso prefiero usar BMP antes de pasarlos a FPG. Incluso con el último juego tuve problemas con los PNG (a la inversa en este caso) y le tuve que pedir al grafista varias veces que me mandase los gráficos corregidos.
Que cagada... entonces no puedo utilizar archivos FPG? cargar cada imagen de movimiento de cada personaje/enemigo en codigo va a ser un trabajo de obrero..
Es asi entonces no hay forma de hacer trasparente el fondo de la animacion de la imagen en el juego???
Descubri algo, extraje de un juego hecho en bennu, graficos de un PJ, los reemplaze por los mios en el archivo FPG... y ahora se ven con el fondo transparente (dentro del juego claro), como deberian ser... entonces lo que me da a entender esto, es que algo tiene de mal mis graficos que baje de una web... porfavor necesito sus ayudas debe ser algo muy simple pero que no puedo darle yo solo a esto. Les dejo el link con los graficos , es un zip. donde estan en una carpeta los graficos que funcionan, y los que NO funcionan (los que se ven la transparencia, y los que se nota ese fondo negro de los graficos).
El link es este:
http://www.megaupload.com/?d=3JYML701 (http://www.megaupload.com/?d=3JYML701)
Espero sus respuestas. desde ya muchas gracias.
no, vamos a ver necesito más información para ayudarte, con los .png adjuntos no es suficiente.
Necesitaría saber qué formato fpg y qué formatos png estás usando en tus gráficos. Voy a verificar el enlace megaupload :D
En teoría es lo que dice Drumpi.
Si tu fpg es de 8 bits (formato estándar de DIV) entonces tus imágenes tienen que usar el primer color de la paleta como transparente, es el primer color de la paleta porque 0 coincide con eso el primer color de la paleta, por lo que si creas una imagen png de 8 bits asegúrate en el editor de paletas que el primer color de tu paleta es el que quieres usar como transparente en tu imagen.
Si tu fpg es de 16 bits (formato fenix) entonces tus imágenes tienen que usar el negro puro que luego bennu interpretará como transparente, para ello tienes que crear imágenes png de 24 bits y usar el negro puro (0,0,0) en las zonas que quieres que sean transparentes.
Si tu fpg es de 32 bits (formato bennu) entonces tus imágenes tienen que usar el canal alfa según la transparencia que quieras que tenga tu color, pero solo las transparencias negras puras no colisionarán, es decir un pixel con información (0,0,0,0) será transparente real y bennu interpretará que no hay colixión con ese pixel, en cambio un pixel con información (255,255,255,0) será también transparente es decir no se verá en la pantalla pero bennu sí realizará colisión con él (sería como un cristal), luego puedes usar semistransparentes, un pixel (255,255,255,127) dejará traspasar el color y verás parcialmente lo que hay detrás de él.
Tu problema puede ser el siguiente: estás usando fpg de 32 bits y le estás insertando pngs de 24 u 8 bits que no tienen canal alfa.
Tu problema puede ser el siguiente: estás usando fpg de 32 bits y le estás insertando pngs de 24 u 8 bits que no tienen canal alfa.
ENtiendo, estoy usando fpg de 32 bits, y pngs de 24 bits. Tengo el Fireworks y el paint de windows 7, como hago para ponerles Canal Alfa??
Sigo necesitando ver el fpg que te da problemas, pero he encontrado los siguiente de tu enlace
mario_0.bmp, mario_1.bmp, etc, no te funcionaran en fpgs de 32 bits porque son bmps de 24 bits sin canal alfa.
mario.png, funcionaría perfectamente en fpgs de 32 bits ya que es un png de 32 bits, el problema está en que son todos los sprites en una imagen :D.
149(der1).bmp, etc, te funcionan bien en fpgs de 32 bits porque son bmps de 32bits con canal alfa activo y con valor 0 en los colores negros.
Ok, pues con esos programas va a ser dificil, prueba a hacer fpgs de 16 bits ya que no estás usando las ventajas de 32 bits, creo que irias sobrao con fpgs de 16 bits :D
O bien, bájate "gimp" que es gratis, y con éste puedes darle al menu capas - transparencia -insertar canal alfa. luego vas seleccionando las partes negras que quieres que sean transparentes y le das a eliminar para insertarlas en el canal alfa.
mario.png, funcionaría perfectamente en fpgs de 32 bits ya que es un png de 32 bits, el problema está en que son todos los sprites en una imagen .
Lo hice de esta manera ahora, los sprites separados de 32 bits PNG, y el archivo FPG de 32 Bits, pero aun asi se sigue viendo el fondo del sprite en el juego >:( >:(.
Mira te subo aca bien ordenadito el archivo FPG, y los archivos png , ambos de 32 bits para que veas..
http://www.megaupload.com/?d=V3MISXWL (http://www.megaupload.com/?d=V3MISXWL)
Haber si hay algun error ...
:S
Desde ya gracias !
Quote from: Drumpi on April 20, 2011, 12:47:07 PM
Por defecto, el color transparente en 8bits (256 colores) es el color 0, en el resto es el negro puro (color 0, o sea, rgb=(0,0,0) en 16 bits y rgba=(0,0,0,0) en 32 bits).
Si no estás usando el canal de alphas, te recomiendo que lo guardes en un BMP normal (24 bits) y pongas los colores que quieras transparentes en negro (un truco es ponerlo primero en un color que destaque y se vea, como rosa chillón o verde radiactivo, y después uses la herramienta relleno o la goma de borrar con el botón secundario para ponerlo en negro), y luego los metas en un FPG con FPGEdit o cualquier otro programa que guarde en FPG.
Respecto al tema de tiles, de momento no hay un motor oficial, tienes que hacértelo tú. Ya hay unos cuantos hilos al respecto, así como las formas de implementarlo (procesos por tiles, o dibujando en un mapa).
Si no, también hay algunos motores de tiles ya hechos. No te puedo recomendar ninguno porque no puedo ser imparcial en este tema ;D
otra vez sopa...
eso de rgb(0,0,0) para color transparente esta mal, al menos lo esta sin explicar que solo en los programas graficos es rgb(0,0,0), pero usar rgb(0,0,0) desde bennugd no da un color transparente, sino un negro solido.
QUOTE]mario.png, funcionaría perfectamente en fpgs de 32 bits ya que es un png de 32 bits, el problema está en que son todos los sprites en una imagen .QUOTE]
Lo hice de esta manera ahora, los sprites separados de 32 bits PNG, y el archivo FPG de 32 Bits, pero aun asi se sigue viendo el fondo del sprite en el juego .
Mira te subo aca bien ordenadito el archivo FPG, y los archivos png , ambos de 32 bits para que veas..
http://www.megaupload.com/?d=V3MISXWL (http://www.megaupload.com/?d=V3MISXWL)
Haber si hay algun error ...
:S
Desde ya gracias !
jejej, vaale, ya tienen canal alfa, pero ahora te falta usarlo :D. No simplemente es añadirlo y termino jejeje.
Como te dije anteriormente, ahora a estos sprites con la herramienta de selección, ya sea varita mágica, ya sea selección de color o región debes seleccionar las partes negras (que son tu fondo) y eliminarlas hasta que en el programa que estés usando no se vea ningun color. Esto lo que hace es poner el canal alfa de cada pixel seleccionado a 0 (para que no se vea) y así bennu sabrá que no tiene que pintarlo, vamos igual que cualquier otro programa visor de imágenes :D.
Quote from: DCelso on April 20, 2011, 03:14:58 PM
jejej, vaale, ya tienen canal alfa, pero ahora te falta usarlo :D. No simplemente es añadirlo y termino jejeje.
Como te dije anteriormente, ahora a estos sprites con la herramienta de selección, ya sea barita mágica, ya sea selección de color o región debes seleccionar las partes negras (que son tu fondo) y eliminarlas hasta que en el programa que estés usando no se vea ningun color. Esto lo que hace es poner el canal alfa de cada pixel seleccionado a 0 (para que no se vea) y así bennu sabrá que no tiene que pintarlo, vamos igual que cualquier otro programa visor de imágenes :D.
Ahora si, haciendo lo que vos me dijiste me funciona!!
Gracias a vos y todos los que me quisieron ayudar =)
Saludos!
Quote from: SplinterGU on April 20, 2011, 02:59:39 PM
Quote from: Drumpi on April 20, 2011, 12:47:07 PM
Por defecto, el color transparente en 8bits (256 colores) es el color 0, en el resto es el negro puro (color 0, o sea, rgb=(0,0,0) en 16 bits y rgba=(0,0,0,0) en 32 bits).
Si no estás usando el canal de alphas, te recomiendo que lo guardes en un BMP normal (24 bits) y pongas los colores que quieras transparentes en negro (un truco es ponerlo primero en un color que destaque y se vea, como rosa chillón o verde radiactivo, y después uses la herramienta relleno o la goma de borrar con el botón secundario para ponerlo en negro), y luego los metas en un FPG con FPGEdit o cualquier otro programa que guarde en FPG.
Respecto al tema de tiles, de momento no hay un motor oficial, tienes que hacértelo tú. Ya hay unos cuantos hilos al respecto, así como las formas de implementarlo (procesos por tiles, o dibujando en un mapa).
Si no, también hay algunos motores de tiles ya hechos. No te puedo recomendar ninguno porque no puedo ser imparcial en este tema ;D
otra vez sopa...
eso de rgb(0,0,0) para color transparente esta mal, al menos lo esta sin explicar que solo en los programas graficos es rgb(0,0,0), pero usar rgb(0,0,0) desde bennugd no da un color transparente, sino un negro solido.
No, Splinter, he dicho rgb=(0,0,0), que es distinto a rgb(0,0,0), refiriéndome a los valores de componentes de color de cualquier programa de dibujo, no hablaba de Bennu ;)
En un futuro, si no tienes intención de crear gráficos con zonas semitransparentes, usa FPGs de 16bits, la pérdida de color no es tanta como parece y te lo agradecerá el rendimiento. De esta forma, los BMP de 24 bits se cargarán con color transparente aquellas zonas pintadas de negro (y si quieres un color no transparente usa un casi-negro como rgb=(0,0,4)).
El problema es que cada programa de conversión a FPG lo hace de una forma, y puede tener en cuenta o no el canal de alpha, o redondear los colores de forma distinta (24 bits son más que 16 bits, por lo que hay 8 bits que sobran, lo que significa que hay menos colores posibles y hay que buscar los más cercanos).
ahhh, el = cambia todo???!!!!
jajaja... :P
Quote from: Milton884 on April 20, 2011, 03:26:46 PM
Quote from: DCelso on April 20, 2011, 03:14:58 PM
jejej, vaale, ya tienen canal alfa, pero ahora te falta usarlo :D. No simplemente es añadirlo y termino jejeje.
Como te dije anteriormente, ahora a estos sprites con la herramienta de selección, ya sea barita mágica, ya sea selección de color o región debes seleccionar las partes negras (que son tu fondo) y eliminarlas hasta que en el programa que estés usando no se vea ningun color. Esto lo que hace es poner el canal alfa de cada pixel seleccionado a 0 (para que no se vea) y así bennu sabrá que no tiene que pintarlo, vamos igual que cualquier otro programa visor de imágenes :D.
Ahora si, haciendo lo que vos me dijiste me funciona!!
Gracias a vos y todos los que me quisieron ayudar =)
Saludos!
De nada, :D.
vamos a ver una cosita, estoy usando un esprite con un fondo negro absoluto para que tenga un tamaño apropiado para hacer una deteccion de durezas y volver al tamaño anterior...
el caso es que el color negro no se me transparenta, ¿que debo hacer para transparentarlo??
ya he dicho que es de negro absoluto...
Pues faltan muchos datos.
Primeramente si lo metes en un fpg de 16 bits ya se corrige esto solo.
Si usas load_png tienes que verificar que tu png sea de 24 bits (osea no tenga canal alfa) y que bennu tenga puesto el modo a 16 bits, osea set_mode(x,x,16);
Si usas bennu en 32 bits, entonces tienes que o bien convertir el png a 32 bits y eliminar el negro (ya explicado antes) o bien postparsear la imagen en bennu y convertir tus pixeles negros a 0.
no uso load_png...
¿como se sabe si uso bennu 32 bits o fpg 16bits?
por la función set_mode, si no la usas, por defecto creo que splinter lo dejó a 32 bits.
lo del fpg pues cualquier programa editor de fpgs te lo dice, sino abrelo con un editor hexadecimal y mira si pone fpg o f16 o f32, normalmente los .fpg vienen comprimidos con gzip así que tendrás que descomprimirlo antes de usar el editor hexadecimal.
[code language="bennu" options="singleline"]set_mode(320,240,32,mode_window);[/code]
y para qué pones eso?, quieres que te diga que bennu lo tienes a 32 bits viendo eso? no eres capáz tu de saberlo? :D
ay omá, que jofetá sin manos me has dao, lol
eso es diciendote que uso 32 bit, ja jaj a
Quote from: Futublock on April 21, 2011, 12:50:56 AM
ay omá, que jofetá sin manos me has dao, lol
eso es diciendote que uso 32 bit, ja jaj a
jaajajaj.
pos eso, pasa bennu a 16 bits
o bien pasa tus imágenes a 32 bits y borras lo que no quieres que se vea imagen a imagen.
no sale, me lo curraré de otra forma