Foros del Web » Creando para Internet » Flash y Actionscript »

Ayuda con factorizacion actionscript

Estas en el tema de Ayuda con factorizacion actionscript en el foro de Flash y Actionscript en Foros del Web. Hola foro, pedirles por favor me colaboren con lo siguiente: Estoy haciendo el jueguito para colorear, donde te aparece una silueta y se puede elegir ...
  #1 (permalink)  
Antiguo 27/08/2010, 06:57
 
Fecha de Ingreso: septiembre-2003
Mensajes: 251
Antigüedad: 20 años, 7 meses
Puntos: 0
Ayuda con factorizacion actionscript

Hola foro, pedirles por favor me colaboren con lo siguiente:
Estoy haciendo el jueguito para colorear, donde te aparece una silueta y se puede elegir un color de una paleta y darle ese color a determinada area del dibujo, el codigo q uso es el siguiente:

var aux:Number = 0;
var colortomado:Color;

//aquí asigno un color a las instancias de objeto de un movieclip, es la paleta
// de colores en si
var amarillo:Color = new Color(amarillo_color);
amarillo.setRGB(0xFFFF00);
var azul:Color = new Color(azul_color);
azul.setRGB(0x0000FF);
var rojo:Color = new Color(rojo_color);
rojo.setRGB(0xFF0000);
var violeta:Color = new Color(violeta_color);
violeta.setRGB(0x990066);

//segun el color que elija de la paleta (al hacer clic), guardo su valor
amarillo_color.onPress = function(){
colortomado = amarillo;
}

azul_color.onPress = function(){
colortomado = azul;
}

rojo_color.onPress = function(){
colortomado = rojo;
}

violeta_color.onPress = function(){
colortomado = violeta;
}

//mi dibujo tiene n partes (areas) q son movie clip q tienen su nombre de instancia, para el //ejemplo digamos q es una casa entonces.
//por otro lado si pinte esa area asigno a una variable “val1” el valor de trae y llamo a la funcion //comprobar() que lo que hace es verificar si todas las areas han sido pintadas
techo_mc.onPress = function(){
var nuevocolor:Color = new Color(techo_mc);
nuevocolor.setRGB(colortomado.getRGB());
val1=true;
comprobar();
}

ventana_mc.onPress = function(){
var nuevocolor:Color = new Color(ventana_mc);
nuevocolor.setRGB(colortomado.getRGB());
val2=true;
comprobar();
}
paredes_mc.onPress = function(){
var nuevocolor:Color = new Color(paredes_mc);
nuevocolor.setRGB(colortomado.getRGB());
val3=true;
comprobar();
}


//aquí verifico si todas mis areas fueron pintadas, si fue asi muestro un mensaje,
function comprobar(){
if (val1 && val2 && val3){
trace("FELICIDADES TERMINASTE DE PINTAR");
}
}

//existe un boton para hincar de nuevo…osea poner todas las areas del dibujo en blanco
//y poner los “val” a false
boton_iniciar.onRelease = function(){
var nuevocolor:Color = new Color(techo_mc);
nuevocolor.setRGB(0xFFFFFF);
var nuevocolor:Color = new Color(ventana_mc);
nuevocolor.setRGB(0xFFFFFF);
var nuevocolor:Color = new Color(paredes_mc);
nuevocolor.setRGB(0xFFFFFF);

val1=val2=val3=false;

}

Como veran el ejemplo tiene solo 3 partes (areas) pero el codigo para los colores, para el color que toma, para el color que pinta, comprueba y cerea…es (según yo) el mismo, … y mis dibujos tendran entre 15 y 30 areas, Entonces la pregunta es …
Es posible reducir este codigo, algo asi como FACTORIZARLO, de modo que no tenga q repetir lo mismo por cada area o para cada color.
Espero me puedan colaborar con esto, agradezco mucho su tiempo

Saludos cordiales,
Rafex
  #2 (permalink)  
Antiguo 27/08/2010, 11:03
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 9 meses
Puntos: 406
Respuesta: Ayuda con factorizacion actionscript

Hola rafex:
Visita mi página, allí tienes un tutor que se llama: Efecto_pintar.

Espero que te sea de alguna utilidad.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/

Etiquetas: actionscript
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:00.