PDA

Просмотр полной версии : Fplayer браузера и Fplayer flash'a работают по разному(((


true11
05.10.2009, 05:55
Имеем флеш-галерею с тулбаром управления для пользователя.
При неактивности пользователя тулбар "исчезает". При активности появляется.
При клике на нем - его можно таскать.
Во флеше все работает преотлично, но вот в браузере имеется один интересный глюк: При вызыве функции фуллсайза флешки, тулбар не реагирует на все эвенты мыши, как бы пользователь не бился, пока не сработает userUnActive по таймауту 4 секунды. Т.е. тулбар один раз должен "потухнуть" прежде чем он будет нормально функционировать. Все остальное, привязанное к мыши как ни странно работает. Что можно сделать в таком случае? :(


P.S. Заметил, что время, проходящее после захода в фуллскрин, нужное для того чтобы "очухаться" бару и чтобы его можно было двигать примерно равно тому, которое висит надпись "Press Esc to exit fullscreen mode". Также в разных версиях мозиллы по-разному работает фуллскрин. В некоторых вообще не работает.
Это может быть как-то связано?

Вот код:

функция в _root, по которой показываем fullsize:
function showOriginal(ph_id){
Stage.displayState = Stage.displayState == "normal" ? "fullScreen" : "normal";
if(Stage.displayState == 'normal'){
previews_clip._visible=1;
fullscreen_mc._visible=0;
}else{
previews_clip._visible=0;
fullscreen_mc._visible=1;
fullscreen_mc.loadOriginalPic(ph_id);
}
}


код в мувиклипе `fullscreen_mc`:
function userUnActive(){ // Если пользователь неактивен
Mouse.hide();
new Tween(userPanel, "_alpha", Regular.easeOut, userPanel._alpha, 0, 0.2, true);
}
function userActive(){ // Если пользователь подает признаки жизни
Mouse.show();
new Tween(userPanel, "_alpha", Regular.easeOut, userPanel._alpha, 100, 0.15, true);
}

var mouseListener:Object = new Object();
mouseListener.onMouseMove = function() {
clearInterval(Mlstid);
userActive();
Mlstid = setInterval(userUnActive, 4000);
};

mouseListener.onMouseDown = function() {
if(userPanel.hitTest(_xmouse, _ymouse) == true && userPanel.speedBar.speedCntrl.hitTest(_xmouse, _ymouse) == false){userPanel.startDrag();} // Если х и у мышки совпадает с тулбарными и не совпадают с панельками на тулбаре начинаем таскание
clearInterval(Mlstid);
userActive();
Mlstid = setInterval(userUnActive, 4000);
};

mouseListener.onMouseUp = function() {
clearInterval(Mlstid);
userPanel.stopDrag();
Mlstid = setInterval(userUnActive, 4000);
}

Mouse.addListener(mouseListener);