![]() |
|
||||||||||
|
|||||
|
[+3 17.04.11]
Регистрация: Mar 2011
Сообщений: 168
|
Сегодня наверное какой-то несчастливый день. Как я уже говорил "Дикие лаги" сыпятся один за другим. Вообщем, во время исполнения в Variables все хорошо, и массив виден и элементы его на месте. Но компилятор почему-то выдает ошибку в методе onDel_Click: Error #1010: A term is undefined and has no properties.
package { import flash.display.Stage; import flash.events.KeyboardEvent; import flash.system.fscommand; import flash.display.MovieClip; import flash.events.MouseEvent; import flash.display.MovieClip; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.display.Sprite; import flash.text.TextFormat; import fl.transitions.Tween; import fl.transitions.TweenEvent; import fl.transitions.easing.*; import fl.core.UIComponent; public class Main extends Sprite{ private var _stage:Object; private var _rt:Object; private var obj:MovieClip; private var masDisObj:Array = new Array(); private var masDisObjTw:Array = new Array(); private var tw:Tween; private var N:uint = 0; //------------------------------------------------------------------------------------------------- public function Main(rt:Object):void { super(); _rt = rt; _stage = _rt.stage; _rt.addEventListener(KeyboardEvent.KEY_DOWN, onKey_Down); _rt.addEventListener(MouseEvent.MOUSE_DOWN, onMouse_Down); _rt.exitWin_but.addEventListener(MouseEvent.MOUSE_OVER, onWinBut_Over); _rt.exitWin_but.addEventListener(MouseEvent.MOUSE_OUT, onWinBut_Out); _rt.exitWin_but.addEventListener(MouseEvent.CLICK, onWinBut_Click); _rt.maxWin_but.addEventListener(MouseEvent.MOUSE_OVER, onWinBut_Over); _rt.maxWin_but.addEventListener(MouseEvent.MOUSE_OUT, onWinBut_Out); _rt.maxWin_but.addEventListener(MouseEvent.CLICK, onWinBut_Click); _rt.minWin_but.addEventListener(MouseEvent.MOUSE_OVER, onWinBut_Over); _rt.minWin_but.addEventListener(MouseEvent.MOUSE_OUT, onWinBut_Out); _rt.minWin_but.addEventListener(MouseEvent.CLICK, onWinBut_Click); } //----------------------------------------------------------------------------------------------------------------- private function onWinBut_Click(e:MouseEvent):void{ if(e.currentTarget == _rt.exitWin_but){ _stage.nativeWindow.close(); } else if(e.currentTarget == _rt.maxWin_but){ if(_rt.maxWin_mc.currentFrame == 2){ _stage.nativeWindow.maximize(); (_rt.maxWin_mc as MovieClip).gotoAndPlay(3); } else if(_rt.maxWin_mc.currentFrame == 4){ _stage.nativeWindow.restore(); (_rt.maxWin_mc as MovieClip).gotoAndPlay(1); } } else if(e.currentTarget == _rt.minWin_but){ _stage.nativeWindow.minimize(); } } //-------------------------------------------------------------------------------------------- private function onWinBut_Over(e:MouseEvent):void{ if(e.currentTarget == _rt.exitWin_but){ (_rt.exitWin_mc as MovieClip).gotoAndPlay(2); } else if(e.currentTarget == _rt.maxWin_but){ if(_rt.maxWin_mc.currentFrame == 1){ (_rt.maxWin_mc as MovieClip).gotoAndPlay(2); }else if(_rt.maxWin_mc.currentFrame == 3){ (_rt.maxWin_mc as MovieClip).gotoAndPlay(4); } } else if(e.currentTarget == _rt.minWin_but){ (_rt.minWin_mc as MovieClip).gotoAndPlay(2); } } //----------------------------------------------------------------------------------------------------------------- private function onWinBut_Out(e:MouseEvent):void{ if(e.currentTarget == _rt.exitWin_but){ (_rt.exitWin_mc as MovieClip).gotoAndPlay(1); } else if(e.currentTarget == _rt.maxWin_but){ if(_rt.maxWin_mc.currentFrame == 2){ (_rt.maxWin_mc as MovieClip).gotoAndPlay(1); }else if(_rt.maxWin_mc.currentFrame == 4){ (_rt.maxWin_mc as MovieClip).gotoAndPlay(3); } } else if(e.currentTarget == _rt.minWin_but){ (_rt.minWin_mc as MovieClip).gotoAndPlay(1); } } //--------------------------------------------------------------------------------------------- private function onMouse_Down(e:MouseEvent):void{ _stage.nativeWindow.startMove(); } //--------------------------------------------------------------------------------------------- private function onKey_Down(e:KeyboardEvent):void{ switch(e.keyCode){ case 27:{ _stage.nativeWindow.close(); break; } } } //---------------------------------------------------------------------------------------------- public function init():void{ obj = new FN(); obj.x = _stage.stageWidth/2; obj.y = 170; masDisObj.push(obj); masDisObjTw.push(new Tween(masDisObj[0],"x",Elastic.easeOut,masDisObj[0].x,masDisObj[0].x,1,true)); _stage.addChild(masDisObj[0]); _rt.addMess.addBut.addEventListener(MouseEvent.CLICK, onAdd_Click); _rt.addMess.delBut.addEventListener(MouseEvent.CLICK, onDel_Click); _rt.addMess.createBut.addEventListener(MouseEvent.CLICK, onCreate_Click); } //--------------------------------------------------------------------------------------------------- private function onAdd_Click(e:MouseEvent):void{ if(N == 9){ trace("Достигнуто максимальное число столбцов"); return; } for(i=0; i<masDisObjTw.length; i++){ if(masDisObjTw[i].isPlaying){ return; } } var d:uint = 40; var m:uint = 40; if(masDisObj.length == 1){ d = 40; m = 70; } for(var i:uint=0;i<masDisObj.length; i++){ masDisObjTw[i].continueTo(masDisObj[i].x-d,1); } obj = new Field(); obj.x = masDisObj[i-1].x+m; obj.y = 170; masDisObj.push(obj); masDisObjTw.push(new Tween(masDisObj[i],"x",Elastic.easeOut,masDisObj[i].x,masDisObj[i].x,1,true)); _stage.addChild(masDisObj[masDisObj.length - 1]); N++; } //-------------------------------------------------------------------------------------------- private function onDel_Click(e:MouseEvent):void{ if(N == 0){ trace("Достигнуто минимальное число столбцов"); return; } for(var i:uint=0; i<masDisObjTw.length; i++){ if(masDisObjTw[i].isPlaying){ return; } } var d:uint = 40; var m:uint = 40; if(masDisObj.length == 1){ d = 40; m = 70; } _stage.removeChild(masDisObj[masDisObj.length - 1]); masDisObj.length--; masDisObjTw.length--; for(var i:uint=masDisObj.length-1;i>=0;i--){ masDisObjTw[i].continueTo(masDisObj[i].x+d,1); //ВОТ В ЭТОМ МЕСТЕ ОШИБКА } N--; } //------------------------------------------------------------------------------------------- private function onCreate_Click(e:MouseEvent):void{ } //-------------------------------------------------------------------------------------------- } } |
|
|||||
|
Регистрация: Mar 2007
Сообщений: 545
|
Отличная конструкция
i = 0; i--; вопрос чему равно i (i:uint)? |
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
for(var i:uint=masDisObj.length-1;i>=0;i--){//uint замените на int masDisObjTw[i].continueTo(masDisObj[i].x+d,1); } |
|
|||||
|
[+3 17.04.11]
Регистрация: Mar 2011
Сообщений: 168
|
блин, мне стыдно ((( Спасибо! Хотя не один раз же проганял вручную этот участок и на листочке писал и все-равно не заметил. А все потому что Air почему-то выбивает раньше чем появляется ошибка, такое впечатление что он наперед просчитывает.
Последний раз редактировалось Max360; 13.06.2011 в 13:20. |
![]() |
![]() |
Часовой пояс GMT +4, время: 11:17. |
|
|
« Предыдущая тема | Следующая тема » |
|
|