![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Apr 2009
Сообщений: 2
|
Не могу понять логику следующего глюка:
Есть три кнопки (слева внизу), movie-clip'ы, на нижнем слое. При rollOver каждая должна вылезать на передний план (swapDepths(100)), при rollOut возвращаться на прежнее место. При нажатии на кнопку должен происходить переход на кадр с картинкой в верхнем слое. В общем, цель, надеюсь, ясна. Так как кнопок будет не три, а 18, чтобы не прописывать им всем одно и то же, решил сразу их перечислить для функции с rollOver и для функции с rollOut. При наведении первым делом в переменную "a" заносится нынешнее положение по z, потом свопДепс(100). При убирании - свопДепс(а). Надеюсь, понятно объяснил. Беда в следующем. Пока не нажимаешь на кнопки, реакция на наведение/убирание мышки правильная. При первом нажатии на любую все так же работает. При втором - тоже. А вот при третьем нажатии сама нажатая кнопка зависает на переднем плане. Причем, иногда это происходит и при четвертом нажатии, а иногда не происходит вообще. Только пожалуйста, не закидывайте сразу сложными понятиями и функциями, с ActionScript знаком всего сутки. P.S. фла прилагается. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
)) всего сутки, но зато в CS4. Будьте проще, и Вам быстрее ответят. Многие и с восьмерки уходить не спешат, и имеют на то причины.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Apr 2009
Сообщений: 2
|
Цитата:
Могу еще сохранить как Flash CS3 document, только есть ли смысл? Попробую здесь процитировать: Это код первого кадра слоя с кнопками-клипами: _global.a pic1.onRollOver = pic2.onRollOver = pic3.onRollOver = function () { _global.a=this.getDepth() this.swapDepths(100); } pic1.onRollOut = pic2.onRollOut = pic3.onRollOut = function () { this.swapDepths(a); } На слое с картинками четыре ключевых кадра - 1й, 5й, 10й, 15й (картинки). В каждом прописан stop(); Вот образец кода, прописанного каждой кнопке: У второй и третьей кнопки в скобках, соответственно, 10 и 15. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
А так?
var pic_count = 18;
var top_mc:MovieClip = pic18; // в реальности та что сверху))
var target_mc:MovieClip;
for(var i:Number = 1; i<=pic_count; i++){
var pic:MovieClip = this["pic"+i]
pic.id = i;
pic.onRollOver = function () {
target_mc = top_mc;
this.swapDepths(top_mc);
top_mc=this;
}
pic.onRollOut = function () {
this.swapDepths(target_mc);
top_mc = target_mc;
}
pic.onPress = function() {
_root.gotoAndPlay(this.id);
}
}
__________________
Reality.getBounds(this); |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:51. |
|
|
« Предыдущая тема | Следующая тема » |
|
|