kodiva
17.02.2008, 21:29
Скажите, пожалуйста, почему этот скрипт не работает как хотелось бы?
(Файл прикрепил)...замучался...понимаю, что переменная где -то в памяти компьютера...и что она перекрывает собой другое значение...
Переключаю счетчик для увеличения толщины кисти и это почему-то влияет на предыдущую нарисованную линию, но не на всю, а только на небольшую часть...Не могу разобрать!Нужна помощь!Заранее спасибо!
var localMouseX:Number = 0;
var localMouseY:Number = 0;
var brushCount:uint = 1;
var myBrushThick:TextField = new TextField();
with(myBrushThick){
x = 10;
y = 10;
width = 20;
height = 20;
type = "input";
border = true;
text = brushCount;
}
addChild(myBrushThick);
var thickLine:String = myBrushThick.text.toString();;
trace(thickLine);
var mySContainer2:Sprite = new Sprite();
mySContainer2.graphics.beginFill(0x003399,0);
mySContainer2.graphics.drawRect(50,50,400,400)
addChild(mySContainer2);
var mouse:MouseEvent = new MouseEvent(MouseEvent.MOUSE_MOVE);
mySContainer2.addEventListener(Event.ENTER_FRAME,frameEnter);
but1.addEventListener(Event.ENTER_FRAME,frameEnter2);
but2.addEventListener(Event.ENTER_FRAME,frameEnter2);
function frameEnter(event:Event):void {
mySContainer2.addEventListener(MouseEvent.MOUSE_DOWN,pushDown);
mySContainer2.addEventListener(MouseEvent.MOUSE_UP,pushUp);
}
function frameEnter2(event:Event):void {
but1.addEventListener(MouseEvent.CLICK,increaseCount);
but2.addEventListener(MouseEvent.CLICK,decreaseCount);
}
function increaseCount(event:MouseEvent):void{
brushCount ++;
myBrushThick.text = brushCount.toString() ;
trace(brushCount);
}
function decreaseCount(event:MouseEvent):void{
brushCount --;
myBrushThick.text = brushCount.toString() ;
trace(brushCount);
}
function pushDown(event:MouseEvent):void {
localMouseX = mySContainer2.mouseX;
localMouseY = mySContainer2.mouseY;
trace(localMouseX);
trace(localMouseY);
mySContainer2.addEventListener(MouseEvent.MOUSE_MOVE,drawLine);
}
function pushUp (event:MouseEvent):void {
localMouseX = 0;
localMouseY = 0;
trace(localMouseX);
trace(localMouseY);
mySContainer2.removeEventListener(MouseEvent.MOUSE_MOVE, drawLine);
}
function drawLine(event:MouseEvent):void {
mySContainer2.graphics.lineStyle(brushCount,0x009999,100);
mySContainer2.graphics.moveTo(localMouseX,localMouseY);
mySContainer2.graphics.lineTo(mouseX,mouseY);
mouse.updateAfterEvent();
localMouseX = mySContainer2.mouseX;
localMouseY = mySContainer2.mouseY;
}
(Файл прикрепил)...замучался...понимаю, что переменная где -то в памяти компьютера...и что она перекрывает собой другое значение...
Переключаю счетчик для увеличения толщины кисти и это почему-то влияет на предыдущую нарисованную линию, но не на всю, а только на небольшую часть...Не могу разобрать!Нужна помощь!Заранее спасибо!
var localMouseX:Number = 0;
var localMouseY:Number = 0;
var brushCount:uint = 1;
var myBrushThick:TextField = new TextField();
with(myBrushThick){
x = 10;
y = 10;
width = 20;
height = 20;
type = "input";
border = true;
text = brushCount;
}
addChild(myBrushThick);
var thickLine:String = myBrushThick.text.toString();;
trace(thickLine);
var mySContainer2:Sprite = new Sprite();
mySContainer2.graphics.beginFill(0x003399,0);
mySContainer2.graphics.drawRect(50,50,400,400)
addChild(mySContainer2);
var mouse:MouseEvent = new MouseEvent(MouseEvent.MOUSE_MOVE);
mySContainer2.addEventListener(Event.ENTER_FRAME,frameEnter);
but1.addEventListener(Event.ENTER_FRAME,frameEnter2);
but2.addEventListener(Event.ENTER_FRAME,frameEnter2);
function frameEnter(event:Event):void {
mySContainer2.addEventListener(MouseEvent.MOUSE_DOWN,pushDown);
mySContainer2.addEventListener(MouseEvent.MOUSE_UP,pushUp);
}
function frameEnter2(event:Event):void {
but1.addEventListener(MouseEvent.CLICK,increaseCount);
but2.addEventListener(MouseEvent.CLICK,decreaseCount);
}
function increaseCount(event:MouseEvent):void{
brushCount ++;
myBrushThick.text = brushCount.toString() ;
trace(brushCount);
}
function decreaseCount(event:MouseEvent):void{
brushCount --;
myBrushThick.text = brushCount.toString() ;
trace(brushCount);
}
function pushDown(event:MouseEvent):void {
localMouseX = mySContainer2.mouseX;
localMouseY = mySContainer2.mouseY;
trace(localMouseX);
trace(localMouseY);
mySContainer2.addEventListener(MouseEvent.MOUSE_MOVE,drawLine);
}
function pushUp (event:MouseEvent):void {
localMouseX = 0;
localMouseY = 0;
trace(localMouseX);
trace(localMouseY);
mySContainer2.removeEventListener(MouseEvent.MOUSE_MOVE, drawLine);
}
function drawLine(event:MouseEvent):void {
mySContainer2.graphics.lineStyle(brushCount,0x009999,100);
mySContainer2.graphics.moveTo(localMouseX,localMouseY);
mySContainer2.graphics.lineTo(mouseX,mouseY);
mouse.updateAfterEvent();
localMouseX = mySContainer2.mouseX;
localMouseY = mySContainer2.mouseY;
}