Noticias

¡Ayuda a la Comunidad GM, haz una donación!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: [SOLUCIONADO] Degradado  (Leído 1203 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Iros

en: Septiembre 06, 2013, 01:12:39 am
Soy molesto, lo se  :)

Ahora bien, mi (nuevo) problema es que necesito hacer una transición entre 3 colores, es decir de pasar de blanco a azul y de azul a blanco. Estuve buscando por acá y por GMC y no encontré nada similar a lo que busco. Me explico, quiero dibujar una circunferencia que tenga esos colores en los bordes para que de un efecto más sofisticado, se "como" hacerlo pero a la vez no. Me explico, se que tengo que hacer un for dependiendo de los colores que vaya a usar, pero no se como aplicar make_color_rgb o make_color_hsv en transición ya que para el primero no es lineal para todos los colores y mucho el tema no se me da, y el segundo directamente ni se como se usa.

No pido que me den las cosas ni nada, si no que me tiren una mano para encaminarme en el tema.

Desde ya, muchas gracias :D
« última modificación: Septiembre 06, 2013, 06:37:35 pm por Iros »

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado Texic

  • Moderadores globales
  • Legendario
  • *
  • Puntos: 1213
  • Mensajes: 2.158
  • Agradecido: 3 veces
  • Sexo: Masculino
  • I Have The Fire!
    • Ver Perfil
Respuesta #1 en: Septiembre 06, 2013, 02:01:36 am
Deberías usar el hsv, calculás los valores H S V de cada color y según la mezcla entre ambos hacés un promedio entre los valores, luego creas el color con los promedios y voilá




 


Desconectado Iros

Respuesta #2 en: Septiembre 06, 2013, 05:18:39 am
Hice este intento de script, pero al ejecutarlo como que no le da el color o.O

//argument0 = x
//argument1 = y
//argument2 = radio
//argument3 = color
//argument4 = cantidad de círculos
var __div,__div1,sat;
__div=0;__div1=0;sat=200;

__div = (20/argument4)*1.05;
__div1 = sat-(sat /__div);
   
for (i=0;i<=argument4;i+=1) {
    if (i < argument4) {
        draw_circle_color(argument0,argument1,argument2-i,make_color_hsv(argument3,240,sat),-1,1);
        sat = sat - __div1;
    } else if (i >= argument4/2) {
        draw_circle_color(argument0,argument1,argument2-i,make_color_hsv(argument3,240,sat),-1,1);
        sat = sat + __div1;
    }
}

¿Qué puede estar fallando?

 


Desconectado Texic

  • Moderadores globales
  • Legendario
  • *
  • Puntos: 1213
  • Mensajes: 2.158
  • Agradecido: 3 veces
  • Sexo: Masculino
  • I Have The Fire!
    • Ver Perfil
Respuesta #3 en: Septiembre 06, 2013, 05:25:40 am
Explicate con un gráfico hecho en paint sobre lo que querés hacer porque no se entendió nada el script xD




 


Desconectado Iros

Respuesta #4 en: Septiembre 06, 2013, 05:33:25 am
Te dejo una imagen googleada xD

http://img.wallpaperstock.net:81/neon-art-wallpapers_34630_1920x1200.jpg

La cosa es que quiero que el color del contorno del círculo pase de más oscuro a claro para luego volver a oscurecerse (en el código me confundí y lo hice de más claro a más oscuro xD).

Con el for listo la cantidad de círculos que quiere el usuario, luego pongo el primer condicional para saber si la cuenta de i es menor que los circulos totales (aunque tendría que ser menor a la mitad) y entonces uso el draw_circle_color para crear los diferentes círculos. El problema viene que la función make_color_hsv no cambia de color ni nada, no hace nada!, se queda con el valor en blanco :S

 


Desconectado Texic

  • Moderadores globales
  • Legendario
  • *
  • Puntos: 1213
  • Mensajes: 2.158
  • Agradecido: 3 veces
  • Sexo: Masculino
  • I Have The Fire!
    • Ver Perfil
Respuesta #5 en: Septiembre 06, 2013, 06:05:28 am
Deberías fijarte cómo funciona el HSV (hue, saturation, value), que representan el tono de color, la saturación y el valor de iluminación (128 sería color puro). No sería más conveniente hacerlo con distintos alpha? Digo por la ilustración que me pasaste, a lo mejor entendí mal




 


Desconectado Iros

Respuesta #6 en: Septiembre 06, 2013, 05:59:43 pm
El problema está en que cuando uso la función make_color_hsv no hace nada, por más que le ponga un celeste, rojo, amarillo, verde o lo que sea (sacando los valores de paint xD). Lo probé con ese script que hice y nada, lo puse en la función de draw y nada. ¿Qué puede estar pasando que no lo colorea correctamente?

[EDIT]

El problema es que yo modificaba el color del centro y no del borde, el col2 es el borde, no el col1 xD

Ya lo solucioné el problema, no me quedó como yo quería pero se ve mejor de esta forma :D

Acá adjunto una imagen del efecto:

http://s2.subirimagenes.com/imagen/8608098image.png

[SOLVED]
« última modificación: Septiembre 06, 2013, 06:36:52 pm por Iros »