|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Sep 2010
Сообщений: 167
|
Сложные операции над клипами со вложенными циклами
Здравствуйте!
Я никак не могу решить одну задачу, связанную с моей программой. У меня нарисована сетка, вроде шахматной доски, и на этой сетке в каждой ячейке может располагаться один объект (клип). Все клипы ставятся динамически, заполняя ячейки слева-направо, сверху-вниз. Позиция каждого клипа вычисляется по функции, в зависимости от порядкового номера. Клипы можно удалять с сетки. Проблема заключается в следующем: нужна функция, находящая свободную ячейку на сетке, и возвращающая порядковый номер этой клетки. Я делал так: брал 2 вложенных цикла. Первый вычисляет координаты ячейки, второй, вложенный, для этих координат перебирает все клипы на доске. Казалось всё просто. Но я не знаю, как вывести первое подходящее значение из под 2х циклов. Приведу свой идиотский код: getNextFreeSlot = function() { var num=0; for(var i=0;i<=LastIndex;i++) //LastIndex - номер последнего добавленного элемента { var checkX = GetSlotPosX(i); //функция возвращает координату X var checkY = GetSlotPosY(i); //функция возвращает координату Y for(var j=0;j<=LastIndex;j++) { var num1 = 0; var mc:MovieClip = _root["myslot"+j];//все клипы имеют название вроде "myslot5" if(mc._x == checkX && mc._y == checkY) { num1++; } else { if(j==LastIndex &&num1==0) { num = i; break; } } }//end for j } //end for i return num; } |
|
|||||
Регистрация: Sep 2009
Сообщений: 61
|
Может быть проще создать массив со списком ячеек и искать по нему?
|
|
|||||
Регистрация: Sep 2010
Сообщений: 167
|
Да я в общем хотел работать без массивов, именно с объектами.
Я уже решил проблему - просто вместо вложенного цикла я сделал отдельную функцию, которая возвращает в цикл данные. Но всё равно хотелось бы узнать как работать со сложными структурами циклов, как завершать один из вложенных циклов. |
|
|||||
[+1 03.02.12]
Регистрация: Jul 2007
Адрес: Благовещенск на Амуре
Сообщений: 22
|
да просто ж всё)
я обычно делаю так:
__________________
даёш кликопробегом по иконам |
Часовой пояс GMT +4, время: 02:55. |
|
« Предыдущая тема | Следующая тема » |
|
|