Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Контекстное меню (Right-click Menu AS3) (http://www.flasher.ru/forum/showthread.php?t=177768)

MyLogin 08.04.2012 10:42

Контекстное меню (Right-click Menu AS3)
 
Делаю контекстное меню, название пунктов беру из XML.
Так вот, есть 9 пунктов, после которых две нижние должны разделяться (separatorBefore).

Алгоритм таков:

Код AS3:

//Здесь загружается XML//
 
stage.showDefaultContextMenu = false;
var ContextM:ContextMenu = new ContextMenu();
ContextM.hideBuiltInItems();
 
var i:uint = 0;
 
for each (var xml:XML in xmls.name.*)
{
 
var context:ContextMenuItem = new ContextMenuItem (xml, true);
ContextM.customItems.push(context + " " + i);
contextMenu = ContextM;
i++;
 
}


Все имена загружаются, но не могу отделить те нижние две строчки, чтоб в цикле присвоить им Разделитель.
Просто не хочу использовать обычный метод описанный в справке, т.к. пунктов много, и вещать на них всех слушателей, хоть и в контейнере с While, чтот не хочется. Уверен что есть какой то выход.
Уже три часа ломаю голову.

Psycho Tiger 08.04.2012 11:45

Есть метод length(). Когда i === length() - 2, то делаем разделитель.

FlashRus 08.04.2012 12:56

Цитата:

length():int
Для объектов XML этот метод всегда возвращает целое число 1.
Psycho Tiger, Если xmls.name.* XML, то с length не получиться. Только если он XMLList


Часовой пояс GMT +4, время: 15:05.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.