![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2007
Сообщений: 21
|
Ребят. Помогите пожалуйста. Тут такая проблема.
Решил попрактиковаться с созданием менюшки, а вот беда-то. Менюшка получилась, но функционирует не полностью. Суть ее такова. Аттачатся кнопки. Внутри этих кнопок есть мувик, в который аттачатся другие-дочерние кнопки. Значит, при наведении курсора на родительскую кнопку, тот мувик, который внутри этой кнопки, содержащий в себе дочерние кнопки должен выезжать вправо. А при убирании курсора уежать обратно, т.е. влево. Все это прекрасно работает. Проблема в том, что нет никакой реакции на нажатие дочерних кнопок. Я сделал трасировку, при нажатии должен вывести ее номер. Но ничего не происходит. Судя по всему это из-за того, что на родителя действует onRollOver. Поэтому на дочернюю не может действовать onPress. Но я не знаю, как это решить. Помогите пожалуйста решить проблему. Заранее спасибо. Вот код var nam:Array = [];
var namm:Array = [];
var kolvo:Array = [3,2,6,0,1,3];
total = 6;
u=0;
for (i=0;i<total;i++) {
nam[i] = "sdfg"+i;
this.attachMovie ("zz",nam[i],i+500);
this[nam[i]]._x = 50;
this[nam[i]]._y = 50+i*30;
this[nam[i]].kkk.text = "Разделов "+kolvo[i];
this[nam[i]].dvig._visible = false;
\\\\\\\\\\\\\Наведение на родителя\\\\\\\\\\\\\\\\\\\\\
this[nam[i]].onRollOver = function () {
this.dvig._visible = true;
this.onEnterFrame = function () {
this.nextFrame();
}
}
\\\\\\\\\\\\\Убирание курсора с родителя\\\\\\\\\\\\\\\\\\\\\
this[nam[i]].onRollOut = function () {
this.onEnterFrame = function () {
this.prevFrame();
if (this._currentframe == 1) {
delete this.onEnterFrame;
this.dvig._visible = false;
}
}
}
\\\\\\\\\\\\\Аттачивание дочерних кнопок\\\\\\\\\\\\\\\\\\\\\
d=0;
for (j=0;j<kolvo[i];j++) {
namm[u] = "lkjl"+u;
this[nam[i]].dvig.attachMovie ("zzz",namm[u],u+100);
this[nam[i]].dvig[namm[u]]._y = d*30;
this[nam[i]].dvig[namm[u]].nomer = u;
\\\\\\\\\\\\\Нажатие на дочернюю кнопку\\\\\\\\\\\\\\\\\\\\\
this[nam[i]].dvig[namm[u]].onPress = function () {
trace (this.nomer);
}
d+=1;
u+=1;
}
}
|
|
|||||
|
Banned
[+5 15.02.09]
[++5 15.02.09] Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
|
Поиск по форуму тебе поможет. Тут а каждой странице раздела можно найти подобную тему.
|
|
|||||
|
Регистрация: Feb 2007
Сообщений: 21
|
Спасибо!
![]() Сейчас поковыряюсь в исходнике ![]() |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 21
|
Круто! hitTest мне очень помог!
Все получилось. А теперь по сложнее... Вот у родителя есть детишки. Как сделать, чтоб и у детишек были детишки? hitTest и onRollOver тут уже не помогут, как я понял Последний раз редактировалось Orgy; 01.06.2008 в 00:38. |
|
|||||
|
Цитата:
var mc:MovieClip=attachMovie("mc","mc",1);
mc.mc=attachMovie("mc","mc",2);
mc.mc.mc=attachMovie("mc","mc",3);
)
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 21
|
Аттачить - не проблема.
Проблема в том, чтобы сделать их активными. Т.е. при наведении на родителя, вылезет его дети. А при наведении на одно дите, уи у него вылезут свои дети. К родителю я применил hitTest, к его детям onRollOver, а вот как тперь быть с детьми детей? Что к ним можно применить? |
|
|||||
|
2 Vektor: другого способа фактически и нет. Кроме как оставлять в родителях дырки для детей
![]() Хотя есть один, но у меня он никогда не работал. trackAsMenu - в хэлпе сказано, что это позволяет получать детям события мыши параельно с родителями. Если получиться его приручить - пожалуйста, дай знать.
__________________
Тут мужик танцует и поёт про флэш |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:06. |
|
|
« Предыдущая тема | Следующая тема » |
|
|