![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2012
Сообщений: 205
|
Есть 7 кнопок на сцене. После компиляции 3-я пропадает. Уже весь скрипт перебрала - кнопки только листенерами выступают, больше с ними я ничего и не делаю.
В чём может быть проблема? |
|
|||||
|
Регистрация: Feb 2012
Сообщений: 205
|
Вот код, основная функциональная его часть.
Да, проблема где-то в коде. С таким упрощённым кодом не отображается 4-я кнопка stop(); var arr:Array= new Array; var p:Number; var bt:Array = new Array(0,bt1,bt2, bt3, bt4, bt5, bt6, bt7); for (p=1; p<=7; p++){ arr[p]=0; if (p==page){ newpage(p); } } for(var i:int = 1; i<bt.length;i++) { bt[i].addEventListener(MouseEvent.CLICK, itemOnRelese); } function itemOnRelese(e:MouseEvent):void { var currentNumber:int; for(var i:int = 1; i<bt.length; i++) { if(e.currentTarget.name == ['bt'+i]) {newpage(i)}; }; } function newpage(i):void { for (var b=1; b<=7; b++) { if (arr[b]==1){ arr[b]=0; bt[b].gotoAndStop(1) } } removeChildAt(4) var Definition:Class = getDefinitionByName("page_" + String(i)) as Class; // получаем ссылку на класс var pg:DisplayObject = new Definition(); addChildAt(pg,4); pg.y=264.5; pg.x=-150; bt[i].gotoAndStop(2); arr[i]=1; } Последний раз редактировалось Маруська; 01.11.2013 в 16:54. |
|
|||||
|
Регистрация: Feb 2012
Сообщений: 205
|
да, проблема.
как же мне тогда быть с addChild(pg); function newpage(i):void { for (var b=1; b<=7; b++) { if (arr[b]==1){ arr[b]=0; bt[b].gotoAndStop(1) } } removeChild(pg)//здесь необходимо удальть любой экземпляр зп. Такая запись неправильная. Как сделать верно? var Definition:Class = getDefinitionByName("page_" + String(i)) as Class; // получаем ссылку на класс var pg:DisplayObject = new Definition(); addChild(pg); //здесь добавляем pg на сцену pg.y=264.5; pg.x=-150; bt[i].gotoAndStop(2); arr[i]=1; } |
|
|||||
|
Ох уж эти ваши фокусы с единицей... Я не понимаю, что мешает вам привыкнуть вести отсчет от нуля? Добавлено через 13 минут Вы первым образом создаете кнопки, очевидно, что символ на 4-ом слое(отсчет от нуля) будет кнопка. Если вы хотели удалить последний элемент, то обратитесь к removeChildAt(numChildren-1); |
|
|||||
|
Регистрация: Feb 2012
Сообщений: 205
|
спасибо, то, что нужно жэ =))
а 0 не люблю, потому как программить на Pascal училась |
|
|||||
|
Цитата:
Вот такой код не прокатит ни в одном языке со строгой типизацией. Не нужно так делать. Все проблемы из-за этого и возникают. Нужно привыкнуть, что в нормальных языках массивы начинаются с нуля, а не с единицы. Это вполне удобно. |
![]() |
![]() |
Часовой пояс GMT +4, время: 04:20. |
|
|
« Предыдущая тема | Следующая тема » |
|
|