PDA

Просмотр полной версии : Укажите на ошибку


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;


}

kodiva
17.02.2008, 22:52
Пожалуйста!Покажите мне ошибку...а то бьюсь, бьюсь головой...и нихрена не выходит!

D12
17.02.2008, 23:11
Это не ваш скрипт, вы его взломали верно ?
орфографические ошибки в скрипте.

Приятного вечера

†‡Paladin‡†
17.02.2008, 23:13
Это не ваш скрипт, вы его взломали верно ?
и пожалуйста без споров, орфографические ошибки в скрипте.

Приятного вечера
Просвяти меня как он "взломал" as3 код.

kodiva
17.02.2008, 23:20
Скрипт-мой.
Вы лучше помогите...просто очень интересно,где здесь ошибка.

D12- помогите а?

D12
17.02.2008, 23:28
2kodiva
пожалуйста отформатируйте ваш код и поместите его в соответсвующие теги для этого форума, и исправте ошибки орфографии в скрипте может и заработает

можно вас спросить как вы можете обьясните это ?increaseCou nt

kodiva
18.02.2008, 01:51
объясняю:возможно, код с разрывом из-за того, что (а мне собственно, точно не известно почему!)что-то при переносе из Fla на форум произошло,но ведь проблема не в этом, не зря ж ведь я файл прикрепил,там все нормально.
Проблема в другом, что блин, трудно объяснить даже, может переменные по ссылке неправильно передавал...вообщем бился-бился...вот и решил у профессионалов спросить,чтобы опытным взглядом посмотрели...Если не трудно протестите fla file в архиве и поймете о чем я.Очень прошу!

†‡Paladin‡†
18.02.2008, 02:07
function drawLine(event:MouseEvent):void {
mySContainer2.graphics.moveTo(localMouseX,localMouseY);
mySContainer2.graphics.lineStyle(brushCount,0x009999,100);
mySContainer2.graphics.lineTo(mouseX,mouseY);
mouse.updateAfterEvent();
localMouseX = mySContainer2.mouseX;
localMouseY = mySContainer2.mouseY;


}

etc
18.02.2008, 10:50
1. Название темы не отражает сути вопроса;
2. Код не оформлен тегами ;
3. Нагадил постами подряд — убери за собой. Здесь не служба поддержки и по ночам люди предпочитают (в большинстве своем) спать, поэтому постить тут «Ну помогите же!!!» себе дороже.

Итого два плюса и топик закрыт. При любом следующем нарушении будет выдан плюс и пожизненный бан соответственно.