= 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);
}
]]>