PDA

Просмотр полной версии : Не работает onRelease


dima_kiv
24.12.2008, 17:18
при наведении на кнопку, появляются еще две. задача проста, надо чтоб при нажитии на каждую кнопу происходила загрузка web страницы. но не работает код onRelease. посмотрите исходник. не могу понять что не так. спасибо.

artem_fs
24.12.2008, 17:51
не так то, что вы говорите onRelease еще неприаттаченным кнопкам.

dima_kiv
24.12.2008, 17:52
artem_fs пояснишь?

ujim
24.12.2008, 17:53
попробуйте

attachMovie("b1","b1",1, {_x:90});
attachMovie("b2","b2",2, {_x:180});
b1._visible=false;
b2._visible=false;

clip1.onRollOver = function() {
b1._visible=true;
b2._visible=true;
}

clip1.onRollOut = function() {
this.gotoAndStop(1);
b1._visible=false;
b2._visible=false;
}

b1.onRelease = function() {
trace("1111111111111");
getURL("1.html");
}
b2.onRelease= function() {
trace("22222222222");
getURL("1.html");
}

dima_kiv
24.12.2008, 17:58
ujim при rollout исчезают кнопки, но работает если зажать кнопку мыши и переместиться на появившиеся кнопки....

artem_fs
24.12.2008, 18:01
да, я тоже так попробовал, тот же результат. грузи кнопки в clip1.

ujim
24.12.2008, 18:04
Ваша проблема была в том что,
вы пытались назначить события кнопкам в момент, когда они еще не существовали

Я малость трансформировал.
далее думаю поправите согласно своим задачам

dima_kiv
24.12.2008, 18:11
artem_fs пробовал так. вообщем есть еще один исходник, посмотрите.

dima_kiv
24.12.2008, 18:15
ujim

attachMovie("b1","b1",1, {_x:90});
attachMovie("b2","b2",2, {_x:180});
b1._visible=false;
b2._visible=false;

clip1.onRollOver = function() {
this.gotoAndStop(2);
b1._visible=true;
b2._visible=true;
}

clip1.onRollOut = function() {
this.gotoAndStop(1);
b1._visible=false;
b2._visible=false;
}

b1.onRelease = function() {
trace("1111111111111");
getURL("1.html");
}
b2.onRelease= function() {
trace("22222222222");
getURL("1.html");
}


я добавил строку чтоб при наведении на clip1 осуществлялся переход на второй кадр, где находится прозрачный прямоугольник, но выпадающие кнопки все равно исчезают.

Kuruki
24.12.2008, 18:29
потомучто они перекрывает собой clip1 и срабатывает onRollOut. Аттачте их в clip1

artem_fs
24.12.2008, 18:31
dima_kiv, у вас во втором примере та-же проблема, что и в первом. опять говорите onrelease несуществующему клипу

dima_kiv
24.12.2008, 18:50
изменил код... по прежнему никак не работает...

clip1.attachMovie("b1","b1",1, {_x:90});
clip1.attachMovie("b2","b2",2, {_x:180});
clip1.b1._visible=false;
clip1.b2._visible=false;

clip1.onRollOver = function() {
this.gotoAndStop(2);
clip1.b1._visible=true;
clip1.b2._visible=true;
}

clip1.onRollOut = function() {
this.gotoAndStop(1);
clip1.b1._visible=false;
clip1.b2._visible=false;
}

clip1.b1.onRelease = function() {
trace("1111111111111");
getURL("1.html");
}
clip1.b2.onRelease= function() {
trace("22222222222");
getURL("1.html");
}