23/05/2008, 03:26
|
| | | Fecha de Ingreso: julio-2004 Ubicación: Mallorca (Illes Balears)
Mensajes: 1.121
Antigüedad: 20 años, 4 meses Puntos: 12 | |
Respuesta: Como se hace este efecto Supongo que te refieres a hacerlo sin tener que cargar imágenes en blanco y negro además de las originales en color. Mira este código que depende de que en el escenario haya un clip de película con nombre de instancia 'foto' que contenga la imagen en color:
Código:
function aplicaBlancoNegro(event:MouseEvent) {
var matrix:Array = new Array();
switch (event.type) {
// Se carga la matriz correspondiente.
case "mouseOver":
matrix = matrix.concat([0.5, 0.5, 0.5, 0, 0]);
matrix = matrix.concat([0.5, 0.5, 0.5, 0, 0]);
matrix = matrix.concat([0.5, 0.5, 0.5, 0, 0]);
matrix = matrix.concat([0, 0, 0, 1, 0]);
break;
case "mouseOut":
matrix = matrix.concat([1, 0, 0, 0, 0]);
matrix = matrix.concat([0, 1, 0, 0, 0]);
matrix = matrix.concat([0, 0, 1, 0, 0]);
matrix = matrix.concat([0, 0, 0, 1, 0]);
break;
}
// Se aplica el filtro.
var filter:ColorMatrixFilter = new ColorMatrixFilter(matrix);
var f:Array = new Array();
f.push(filter);
foto.filters = f;
}
foto.addEventListener(MouseEvent.MOUSE_OVER, aplicaBlancoNegro);
foto.addEventListener(MouseEvent.MOUSE_OUT, aplicaBlancoNegro);
Cambiando los valores de la matriz puedes obtener tonalidades diferentes.
Si quieres hacerlo con javascript, pregunta en el foro de javascript.
Saludos!
__________________ Los ignorantes se empeñan en enseñar. Los sabios en aprender. SourceForge |