Hello again,
I’ve done some debugging of my code and there is one major issue I cannot seem to figure out. Hoping someone out there knows the answer. I have a sketchpad application written in ActionScript 3.0. I’ve used trace statement throughout and everything appears to be working except the line that is drawn never appears. For your reference, I’ve pasted the code below:
package {
import flash.display.Sprite;
import flash.events.*;
import flash.display.SimpleButton;
import flash.display.Graphics;
import flash.display.Shape;
import flash.filters.DropShadowFilter;
public class MyPad extends Sprite {
var currentColor:Number;
var doDraw:Boolean = false;
var lineSize:Number = 1;
public function MyPad() {
trace("MyPad");
var spBoard:Sprite = new Sprite();
this.addChild(spBoard);
spBoard.x = 75;
spBoard.y = 75;
var shDrawing:Shape = new Shape();
spBoard.addChild(shDrawing);
spBoard.graphics.lineStyle(1,0x000000);
spBoard.graphics.beginFill(0xFFFFFF);
spBoard.graphics.drawRect(0,0,250,250);
spBoard.graphics.endFill();
spBoard.filters = [new DropShadowFilter() ];
//add event listeners for drawing board
//spBoard.addEventListener(MouseEvent.ROLL_OUT,boardOut);
spBoard.addEventListener(MouseEvent.MOUSE_DOWN,boardDown);
//spBoard.addEventListener(MouseEvent.MOUSE_MOVE,boardMove);
//event listeners for line buttons
//btnLine0.addEventListener(MouseEvent.MOUSE_DOWN,btnLine0Down);
//btnLine3.addEventListener(MouseEvent.MOUSE_DOWN,btnLine3Down);
//btnLine6.addEventListener(MouseEvent.MOUSE_DOWN,btnLine6Down);
}
function boardDown(e:MouseEvent):void {
trace("boardDown");
doDraw = true;
currentColor = cpColor.selectedColor;
trace(currentColor);
graphics.lineStyle(lineSize,currentColor);
graphics.moveTo(mouseX,mouseY);
this.addEventListener(MouseEvent.ROLL_OUT,boardOut);
this.addEventListener(MouseEvent.MOUSE_MOVE,boardMove);
btnLine0.addEventListener(MouseEvent.MOUSE_DOWN,btnLine0Down);
btnLine3.addEventListener(MouseEvent.MOUSE_DOWN,btnLine3Down);
btnLine6.addEventListener(MouseEvent.MOUSE_DOWN,btnLine6Down);
}
function boardOut(e:MouseEvent):void {
trace("boardOut");
doDraw = false;
trace(doDraw);
//trace(doDraw);
}
function boardMove(e:MouseEvent):void {
trace("boardMove");
var curX:Number = mouseX;
var curY:Number = mouseY;
trace(curX);
trace(curY);
trace(doDraw);
if (doDraw && checkCoords(curX,curY)) {
graphics.lineTo(curX,curY);
e.updateAfterEvent();
}
}
function checkCoords(a:Number,b:Number):Boolean {
if (a >= 250 - lineSize / 2 || a <= lineSize / 2 || b >= 250 - lineSize / 2 || b <= lineSize / 2) {
return false;
}
else {
return true;
}
}
function btnLine0Down(e:MouseEvent):void {
lineSize = 1;
trace(lineSize);
}
function btnLine3Down(e:MouseEvent):void {
lineSize = 3;
trace(lineSize);
}
function btnLine6Down(e:MouseEvent):void {
lineSize = 6;
trace(lineSize);
}
}
}
Thanks again for any assistance you can offer!