![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Mar 2012
Сообщений: 36
|
TypeError: Error #1010: Термин не определен и не имеет свойств.
at MethodInfo-1() Такая ошибка. Ругается на переменную par как я думаю. Подскажите пожалуйста как исправить var urlLoader:URLLoader = new URLLoader(); urlLoader.addEventListener(Event.COMPLETE, textLoaded); urlLoader.load(new URLRequest("xml/kross.xml")); var xml:XML; var xmlList:XMLList; function textLoaded(e:Event):void { xml = XML(urlLoader.data); xmlList = xml.zadanie; var arr_kletki:Array=new Array(); var par; for (var i=0; i<xmlList.length(); i++) { arr_kletki[i] = []; for (var j=0; j<xmlList[i].kletki; j++) { var txtField:TextField = new TextField(); txtField.width = 28; txtField.height = 28; txtField.border = true; if (xmlList[i].polojenie == "gor") { txtField.x = xmlList[i].kor_x * 28 + j * txtField.width; txtField.y = xmlList[i].kor_y * 28; } if (xmlList[i].polojenie == "ver") { txtField.x = xmlList[i].kor_x * 28; txtField.y = xmlList[i].kor_y * 28 + j * txtField.width; } arr_kletki[i][j] = [txtField]; addChild(txtField); } } addEventListener(MouseEvent.MOUSE_DOWN, onMD); function onMD(e:MouseEvent):void { for (var i1=0; i1<4; i1++) { for (var j1=0; j1<xmlList[i1].kletki; j1++) { if (arr_kletki[i1][j1][0].hitTestPoint(mouseX,mouseY)) { par = i1; } } } addEventListener(Event.ENTER_FRAME, onEnterFrame); function onEnterFrame(e:Event):void { for (var i2=0; i2<4; i2++) { for (var j2=0; j2<xmlList[i2].kletki; j2++) { arr_kletki[par][j2][0].borderColor = 0x00FFFF; } } } } } |
|
|||||
|
вы бы еще глубже рефлексией ее закопали. я так понял у вас ее использование находится в функции которая в функции которая в функции?
Вынесите ваши обработчики в одну область видимости, а не городите этот не отлаживаемый ад Вы js раньше занимались? |
|
|||||
|
Регистрация: Mar 2012
Сообщений: 36
|
глупая ошибка, просто вместо xmlList[i2] надо было написать xmlList[par]
Не занимался js. А что не правильного в конструкции таких функций? |
|
|||||
|
в том что существует такая вещь как замыкания которые потом провоцируют утечки памяти, а потом начинают всякими изврщенческими методами "чистить память" и "удалять объекты". В частности у вас утечки присутствуют.
__________________
:) |
|
|||||
|
Регистрация: Mar 2012
Сообщений: 36
|
Какие утечки?
|
|
|||||
|
[+4 08.09.13]
Регистрация: May 2012
Сообщений: 131
|
Б-же, что за ужасный код?! Страшно представить, как вы думаете.
Объясните нормально, что вы хотите сделать в этом коде?! (смотрю на строки и мне реально дурно. Что, где, куда идёт - вообще каша) |
|
|||||
|
Регистрация: Mar 2012
Сообщений: 36
|
Получается что флэшка будет сильно тормозить, из за утечки памяти?
|
|
|||||
|
не факт, но когда начнёт тормозить будет уже поздно. Она будет есть больше памяти точно, а когда она станет есть слишком много памяти вы возьмётесь за голову, и будете это переписывать. Короче не нужно так писать. Анонимные функции это зло, не пишите их. От наличия нормального именного метода в классе хуже не станет, лучше точно станет и работать будет быстрее. Только на своей флешке вы это не увидите, она пока меленькая, а вот когда станет большая, тогда и пригодится всё это.
__________________
:) |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:36. |
|
|
« Предыдущая тема | Следующая тема » |
|
|