Duda con efectos de cambio de color

Started by Noivern, August 22, 2010, 04:17:51 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Noivern

Buenas!
Tengo una gran duda con respecto a efectos de color sobre los gráficos:
Deseo que mis enemigos parpadeen en rojo cuando sufren daño, algo asi como los enemigos del aerofighters que aguantaban más de 1 disparo y se iban poniendo rojos. Además deseo agregar sombras de esta misma manera, sin tener que utilizar graficos adicionales.

He buscado en la api y he encontrado la función rgbscale() que en teoría me podría servir. Luego he buscado en el manual de Bennu de Oscar Torrente (osk me parece :P) pero ahi dice que es para graficos en 16 bits, en modo de video 16 bits.
Mi juego (el que estaba portando desde div 1) lo tengo corriendo en modo 32 bits con un fpg de 8 bits (div 1 :P).
¿Puedo utilizar rgbscale() de todas maneras?
Además tengo la duda de que si llegase a convertir a tonalidades rojas un grafico, luego cómo lo restauro a su estado original?
¿Debo hacer una copia en memoria del grafico, mostrarla, luego descargarla y finalmente mostrar el gráfico original?
Esas son mis interrogantes por el momento, gracias por leer XD

Drumpi

El rgbscale funciona tanto con gráficos de 16 como de 32 (bueno, este último caso no lo he probado), pero con gráficos 8bits siempre se recomienda mejor trabajar cambiando los colores directamente en la paleta, creo que era con SET_COLORS, pero claro, tiene la pega de que afectaría a todos los gráficos que la usen.
Una de las nuevas ventajas de Bennu respecto a Fenix es que puedes usar paletas independientes para cada proceso en modo 16bits, así que puedes clonar la misma por cada proceso y luego usar una variante de SET_COLORS que afecte a la paleta de ese proceso en concreto.

Pero si los recursos son limitados, no te comas la cabeza y usa dos gráficos. Si miras algunos juegos, te sorprenderás al ver que a pesar de existir rutinas de rotación, siguen generando el mismo gráfico con varios angulos en el fichero de imágenes.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Prg

también hay una función que aplica una segunda paleta de colores a tu grafico al estilo mono gris de fostiator
tamibén puedes recorre todo el buffer de la imagen y hacer los cambios manualmente

aquí hay ejemplos de uso de paletas y manipulación de colores
http://betatester.bennugd.org/snapshot/samples/palettes.rar

en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

Noivern

#3
Mmm interesante, me temía lo de las paletas xD.
Bueno a leer y testear, gracias!
;D

EDIT:
Karmaaaaaa! a los 2, es justamente lo que quería, el ejemplo 3 me viene de perillas :D
Veo que la wiki no menciona esas funciones =/
karma -1 pa la api xD