= pl.length) curImg = 0; } if(curImgLayer == 0) { imgB.source = "student-mma-16-img-mediaviewer-content-" + pl[curImg].text; fadeIn(imgB); fadeOut(imgA); curImgLayer = 1; } else { imgA.source = "student-mma-16-img-mediaviewer-content-" + pl[curImg].text; fadeIn(imgA); fadeOut(imgB); curImgLayer = 0; } fadeOut(curCanvas); curCanvas = drawCanvas.getChildByName("canvas" + curImg) as Canvas; fadeIn(curCanvas); } private function nextClick(back:Boolean = false):void { if(pause == false) { stop(); start(back); } else { nextImage(back); } } private function fadeIn(img:UIComponent):void { img.visible = true; img.removeEventListener(Event.ENTER_FRAME, doFadeOut); img.addEventListener(Event.ENTER_FRAME, doFadeIn); } private function doFadeIn(e:Event):void { e.target.alpha += .02; if (e.target.alpha >= 1){ e.target.removeEventListener(Event.ENTER_FRAME, doFadeIn); } } private function fadeOut(img:UIComponent):void { img.removeEventListener(Event.ENTER_FRAME, doFadeIn); img.addEventListener(Event.ENTER_FRAME, doFadeOut); } private function doFadeOut(e:Event):void { e.target.alpha -= .02; if (e.target.alpha <= 0){ e.target.removeEventListener(Event.ENTER_FRAME, doFadeOut); e.target.visible = false; } } private function showControls(e:Event):void { controls.alpha = 1; } private function hideControls(e:Event):void { controls.alpha = 0; } private function showDrawControls(e:Event):void { drawControls.alpha = 1; } private function hideDrawControls(e:Event):void { drawControls.alpha = 0; } private function changeSpeed():void { waitTime = 60 / speed.value; if(!pause) { stop(); start(); } } private var thickness:int = 5; private var fromX:int; private var fromY:int; private var toX:int; private var toY:int; private var color:uint = 0x000000; private var line:Shape; private var drawMode:Boolean = false; private function toggleDrawMode():void { if(!drawMode) { drawCanvas.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); drawCanvas.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); drawIcon.source = "student-mma-16-img-mediaviewer-icon-draw-active.png"; controls.visible = false; drawControls.removeEventListener(MouseEvent.ROLL_OUT, hideDrawControls); drawMode = true; } else { drawCanvas.removeEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); drawCanvas.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp); drawIcon.source = "student-mma-16-img/mediaviewer/icon_draw.png"; controls.visible = true; drawControls.addEventListener(MouseEvent.ROLL_OUT, hideDrawControls); drawMode = false; } } private function onMouseDown(e:Event):void { line = new Shape(); line.graphics.lineStyle(thickness, color); fromX = mouseX; fromY = mouseY; addEventListener(Event.ENTER_FRAME, drawLine); //don't pop control bar while drawing drawControls.visible = false; } private function drawLine(e:Event):void { if(fromX != mouseX || fromY != mouseY) { line.graphics.moveTo(fromX, fromY); toX = (mouseX > this.width ? this.width : (mouseX < 0 ? 0 : mouseX)); toY = (mouseY > this.height ? this.height : (mouseY < 0 ? 0: mouseY)); line.graphics.lineTo(toX, toY); curCanvas.rawChildren.addChild(line); fromX = toX; fromY = toY; } } public function onMouseUp(e:Event):void { if(drawMode) { removeEventListener(Event.ENTER_FRAME, drawLine); drawControls.visible = true; } } private function changeColor():void { color = colorPick.selectedColor; } private function clearCanvas():void { while(curCanvas.rawChildren.numChildren > 0) curCanvas.rawChildren.removeChildAt(0); } ]]>