Comunidad de diseño web y desarrollo en internet online

Problema Grave con AS3

Citar            
MensajeEscrito el 19 Jun 2009 09:01 pm
Saludos! quisiera plantear en este foro un problema con AS3...resulta que estoy haciendo un banner que tiene la particularidad de que visualmente, al hacer click en un sitio, la pantalla se "empaña"(este efecto lo logro con photoshop y un movie con alpha).... pues hasta ahi bien, la cosa se complica porque para añadir mas realismo al efecto, al llegar este "empañamiento" a cierto punto, consegui borrar el efecto como si pasaras el dedo por un vidrio empañado.
El problema es que AS3 nos complica la existencia (porahora) y los scripts que tengo entran en conflicto.
Añado dichos scripts:

ERASABLE IMAGE:
var lineSize:Number=30;
var doDraw:Boolean=false;
var resumeDrawing:Boolean=false;
var erasableBitmapData:BitmapData = new BitmapData(1486, 1017, true, 0xFFFFFFFF);
var erasableBitmap:Bitmap = new Bitmap(erasableBitmapData);
erasableBitmap.cacheAsBitmap = true;
addChild(erasableBitmap);
maskee.cacheAsBitmap = true;
maskee.mask = erasableBitmap;
var eraserClip:Sprite = new Sprite();
initEraser();
function initEraser():void {
eraserClip.graphics.lineStyle(lineSize,0xff0000);
eraserClip.graphics.moveTo(stage.mouseX,stage.mouseY);
}
var drawnBitmapData:BitmapData = new BitmapData(1486, 1017, true, 0x00000000);
var drawnBitmap:Bitmap = new Bitmap(drawnBitmapData);
stage.addEventListener(MouseEvent.MOUSE_MOVE,maskMove);
stage.addEventListener(MouseEvent.ROLL_OUT, maskOut);
stage.addEventListener(MouseEvent.ROLL_OVER,maskOver);
stage.addEventListener(MouseEvent.MOUSE_DOWN,startDrawing);
stage.addEventListener(MouseEvent.MOUSE_UP,stopDrawing);
function startDrawing(e:MouseEvent):void {
eraserClip.graphics.moveTo(stage.mouseX,stage.mouseY);
doDraw=true;
}
function stopDrawing(e:MouseEvent):void {
doDraw=false;
resumeDrawing = false;
}
function maskOut(e:Event):void {
if (doDraw){
resumeDrawing = true;
}
}
function maskOver(e:MouseEvent):void {
if (resumeDrawing){
resumeDrawing = false;
eraserClip.graphics.moveTo(stage.mouseX,stage.mouseY);
}
}
function maskMove(e:MouseEvent):void {
if (doDraw && !resumeDrawing){
eraserClip.graphics.lineTo(stage.mouseX,stage.mouseY);
drawnBitmapData.fillRect(drawnBitmapData.rect, 0x00000000);
drawnBitmapData.draw(eraserClip , new Matrix(), null, BlendMode.NORMAL);
erasableBitmapData.fillRect(erasableBitmapData.rect, 0xFFFFFFFF);
erasableBitmapData.draw(drawnBitmap, new Matrix(), null, BlendMode.ERASE);
}
e.updateAfterEvent();

Lo que yo busco es que al darle click a un boton, se desarrolle una movie en la que el efecto gradualmente aparece, y al final de este, ejecutar este sript para borrar la imagen que gradualmente añadi.... a alguien se le ocurre algo para resolver esto?

Por omargalavis

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Jun 2009 11:43 am
Hay un foro específico de AS3.
Cuando vayas a postear códigos, sobre todo códigos que sobrepasen las tres líneas, postéalos entre tags de ActionScript, sino no hay quien los lea:

Código :

[as]
//---Tus códigos aquí
[/as]


En realidad no has explicado que problema tienes, sólo has dicho que los scripts entran en conflicto, pero no has dicho que pasa en realidad, se bloquea la aplicación, o te lanza algún tipo de error o simplemente no funciona, explica mejor tu problema para que alguien pueda ayudarte más fácil.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.