Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > ActionScript 1,2 > контекстное меню


Автор: alrau 2.4.2006, 00:06
Мне нужно создать контекстное меню для всех объектов, созданных с помощью attachMovie.
Т.е. я создаю при каждом клике мышкой новый объект (например крестик), все эти объекты находятся на цветном квадрате( тоже мувик).

У меня получается, что если я создаю новое меню для "крестиков" оно не работает, а если для квадрата, на котором они находятся, то меню работает.

Как сделать так, чтобы при нажатии правой кнопкой мыши на каждый из объектов происходило какое-либо действие именно с этим объектом?

вот это работает, только вместо имени объекта выдает undefined

Код

var newMenu = new ContextMenu();
newMenu.hideBuiltInItems();
newMenu.customItems.push(new ContextMenuItem("Изменить цвет",chcolor));
function chcolor(obj:Object,item){
    trace(this._name);
}
panelcross.menu=newMenu;


а вот тут не работает (видно стандартное меню)

Код

panelcross.onRelease=function(){    
    panelcross.attachMovie("ball","ball1"+i,i);
              panelcross["ball1"+i]._x=x;
              panelcross["ball1"+i]._y=y;
              panelcross["ball1"+i].menu = newMenu;
};


Автор: AlDev 2.4.2006, 16:33
Цитата(alrau @ 2.4.2006, 05:06 Найти цитируемый пост)
вот это работает, только вместо имени объекта выдает undefined

дык this там явно не MovieClip ;) сделай
Код

function chcolor(obj:Object,item){
    trace(panelcross._name);
}
panelcross.menu=newMenu;

Цитата(alrau @ 2.4.2006, 05:06 Найти цитируемый пост)
а вот тут не работает (видно стандартное меню)

а newMenu там нормально? не undefined?

Автор: alrau 2.4.2006, 21:35
Цитата(AlDev @ 2.4.2006, 16:33)
Цитата(alrau @  2.4.2006,  05:06 Найти цитируемый пост)
вот это работает, только вместо имени объекта выдает undefined

дык this там явно не MovieClip ;) сделай
Код

function chcolor(obj:Object,item){
    trace(panelcross._name);
}
panelcross.menu=newMenu;




только мне не надо в функции для panelcross, а нужно, чтобы каждый раз эта функция вызывалась для каждого из объектов, которые созданы attachMovie на panelcross.
а что она выводит - имя объекта или, допустим, увеличение координат пока не важно.

У меня вообще не видно моего меню на других объектах кроме panelcross.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)