![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2007
Сообщений: 8
|
Допустим, нужен медиаплеер, у которого видео-изображение занимает всю сцену. При наведении мыши над медиаплеером должно появляться навигационное меню (play,rewind и т.д.). Уже 2 дня мучаюсь, каким образом лучше это организовать. Проблема в следующем: а) если меню находится внутри мувиклипа плеера, то событие onRollOver(onRollOut) плеера перекрывает события onPress навигационного меню (т.е. кнопки не нажимаются) б) если меню лежит поверх мувика с видео, то при наведении мыши над меню - срабатывает (onRollOut) мувика с видео и меню становится невидимым.
Буду благодарен за любые идеи. (Уже пробовал _xmouse и _ymouse - не срабатывает при быстром движении мыши). Заранее спасибо |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Сообщи мувику под меню, что мышка над меню.
|
|
|||||
|
Регистрация: Jan 2007
Сообщений: 8
|
на мой взгляд слишком общее решение...
![]() |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
На мой взгляд слишком общий вопрос…
|
|
|||||
|
Регистрация: Jan 2007
Сообщений: 8
|
__etc, вот фрагмент кода одной из таких реализаций (при слишком быстром перемещении мыши не срабатывает, и при драге не срабатывает
):var names_:Array = Array("rewindBtn_mc","playBtn_mc","forwardBtn_mc","stopBtn_mc"); //массив с именами кнопок меню
for (var i:Number =0; i<names_.length;i++) {//регистрация onRollOver, onRollOut, onDragOut событий для кнопок меню
_root.myPlayer_mc[names_[i]].onRollOver = function () {
_root.bFlag = true;
}
_root.myPlayer_mc[names_[i]].onRollOut = _root.myPlayer_mc[names_[i]].onDragOut =function () {
_root.outInt = setInterval(outInterval,_root.delay);
}
}
_root.myPlayer_mc.videoScr_mc.onRollOver = fOver; //регистрация событий onRollOver, onRollOut, onDragOut для мувика под менюшкой
_root.myPlayer_mc.videoScr_mc.onRollOut = _root.myPlayer_mc.videoScr_mc.onDragOut = fOut;
function overInterval (mc:MovieClip) { //интервальные функции введены с целью установления задержки
if (_root.overInt) { //чтобы переменная bFlag могла установиться
if(!_root.bFlag) {hideMenu ()} //bFlag = true если ымшь над кнопками меню
clearInterval(_root.overInt);
}
}
function outInterval () {
if (_root.outInt) {
_root.bFlag = false;
clearInterval(_root.outInt);
}
}
function fOver() {
delete(this.onRollOver);
if (!_root.bFlag) {showMenu ();}
this.onRollOut = this.onDragOut = fOut;
}
function fOut() {
delete(this.onRollOut);
delete(this.onDragOut);
_root.overInt = setInterval(overInterval,_root.delay,this);
this.onRollOver = fOver;
}
Последний раз редактировалось iNils; 25.01.2007 в 21:10. |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 8
|
лучше так. вот исходник
|
|
|||||
|
[+ 1.4 28.01.07]
[+1.2 28.01.07] Регистрация: Nov 2006
Адрес: Saratov
Сообщений: 14
|
Мне кажется что такой скрипт для такой задачи слишком сложный...
![]() слушай не onEnterFrame() а onMouseMove() и тогда _xmouse и _ymouse всегда будут успевать... video - клип с видео menu - меню Последний раз редактировалось before; 28.01.2007 в 05:49. |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:11. |
|
|
« Предыдущая тема | Следующая тема » |
|
|