Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   fullscreen плеера (http://www.flasher.ru/forum/showthread.php?t=155788)

Ossikuro 10.05.2011 13:51

fullscreen плеера
 
Здравствуйте, возник такой вопрос: есть на сцене мувиклип с именем PAGE, внутри него размещен еще один мувиклип page_08, в котором сидит видеоплеер. У видеоплеера есть кнопка фулскрин. Однако фулскринит она целиком мувиклип, т.е. все, что видит на сцене, а не сам видеоплеер. Подскажите пожалуйста, как сделать так, что бы на полный экран разворачивался только сам плеер?

Это прописано внутри плеера:
Код AS3:

function fullscreenOrNot(e:MouseEvent):void {
          if (stage.displayState == StageDisplayState.NORMAL) {
        stage.displayState = StageDisplayState.FULL_SCREEN;
                mcVideoControls.btnZoom.visible = false;
                mcVideoControls.btnUnzoom.visible = true;
    } else {
        stage.displayState = StageDisplayState.NORMAL;
                mcVideoControls.btnZoom.visible = true;
                mcVideoControls.btnUnzoom.visible = false;
    }
}


goodguy 10.05.2011 15:36

смотреть в сторону метода stage.getFullScreenSourceRect() и забить на StageDisplayState.FULL_SCREEN;

Dukobpa3 10.05.2011 16:50

Ну вообще-то можно и так, только подписаться на ресайз стейджа и перепозиционировать элементы. Например тот же плеер вытягивать при фуллскрине на передний план ставить его в 0:0, и растягивать на весь Экран.

goodguy 10.05.2011 16:54

getFullScreenSourceRect в разы проще и эффективнее

Dukobpa3 10.05.2011 17:02

Да, почитал, крутая штука. Только зачем жеж дезинформировать))

fullScreenSourceRect : Rectangle
Flash Player масштабирует конкретный участок рабочей области в полноэкранный режим.

А не getFullScreenSourceRect.

goodguy 10.05.2011 17:05

Причем тут дезинформация? Писал по памяти, может малость не правильно вспомнил название метода, все равно поиск такие огрехи исправит )

Ossikuro 11.05.2011 11:48

Спасибо) почитала, попробовала, но все равно какая-то пардон, фигня выходит)):
Код AS3:

function fullscreenOrNot(e:MouseEvent):void {
        var savedWidth:uint;
    var savedHeight:uint;
        var heightvid = vidDisplay.height + mcVideoControls.height;
        var weightvid = vidDisplay.width;
 
 
    if(stage.displayState == StageDisplayState.NORMAL) {
      weightvid = vidDisplay.videoWidth;
      heightvid = vidDisplay.videoHeight;
 
      try {
      stage.fullScreenSourceRect = new Rectangle(vidDisplay.x, vidDisplay.y, weightvid, heightvid);
      stage.displayState = StageDisplayState.FULL_SCREEN;
      mcVideoControls.btnZoom.visible = false;
          mcVideoControls.btnUnzoom.visible = true;
 
                } catch (e:SecurityError) {
                    weightvid = savedWidth;
                    heightvid = savedHeight;
                }
 
    }else {
      weightvid = savedWidth;
      heightvid = savedHeight;
 
      stage.displayState = StageDisplayState.NORMAL;
          mcVideoControls.btnZoom.visible = true;
          mcVideoControls.btnUnzoom.visible = false;
      }
    }

на весь экран раскрывается все равно вся страница, а не область видео с меню(
Может еще не затруднит ткнуть носом на ошибки?

goodguy 11.05.2011 12:02

В качестве прямоугольника для stage.fullScreenSourceRect() нужно передавать именно координаты и размеры той области, которую нужно увеличить на весь экран. В нее не должны попадать никакие элементы управления и.т. так как все это так же увеличится.
Результат работы этого метода прост, он, как бы просто наезжает камерой на нужный участок

Ossikuro 13.05.2011 10:32

спасибо))


Часовой пояс GMT +4, время: 04:43.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.