'Papervision'에 해당되는 글 1건

  1. 2009.02.25 AS3.0, Papervision - Full screen mode

다양한 웹사이트와 레퍼런스를 참조한 결과 단순히 다음 코드 한줄로 될 줄 알았습니다만,
보안정책상 마우스나 키보드 이벤트를 받은 후처리로서의 동작으로만 가능하다고 합니다.

즉, 시작부분에 단순히 다음 코드를 삽입해서 자동으로 풀스크린으로 들어가도록 하는것은 동작하지 않는것 같습니다.
stage.displayState = StageDisplayState.FULL_SCREEN;

다음과 같이 메뉴나 버튼등을 활용하여 이벤트 처리시 풀스크린 진입을 가능하게 해주면 됩니다.
아래의 예는 플래시에서 우측클릭시 뜨는 팝업메뉴에 Go Full Screen / Exit full Screen 메뉴를 삽입한 경우입니다.

... 클래스의 constructor 부분에서 다음과 같이 built-in 메뉴를 풀스크린 관련 메뉴 아이템으로 대체, 이벤트 핸들러 선언.
     
            var fullscreenCM:ContextMenu = new ContextMenu();
            fullscreenCM.addEventListener(ContextMenuEvent.MENU_SELECT, menuHandler);
            fullscreenCM.hideBuiltInItems();
           
            var fs:ContextMenuItem = new ContextMenuItem("Go Full Screen" );
            fs.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, goFullScreen);
            fullscreenCM.customItems.push( fs );
           
            var xfs:ContextMenuItem = new ContextMenuItem("Exit Full Screen");
            xfs.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, exitFullScreen);
            fullscreenCM.customItems.push( xfs );
           
            contextMenu = fullscreenCM;

   
다음과 같이 이벤트 핸들러 구현.
        // functions to enter and leave full screen mode
        public function goFullScreen(event:ContextMenuEvent):void
        {
           stage.displayState = StageDisplayState.FULL_SCREEN;
        }
        public function exitFullScreen(event:ContextMenuEvent):void
        {
           stage.displayState = StageDisplayState.NORMAL;
        }

중요한것은 이걸로 끝이 아니고 publish된 html 파일에서 allowFullScreen 내용들을 true로 수정해 주어야 합니다.
수정하지 않으면 다음과 같이 보안관련 에러가 발생합니다.


  
<script language="JavaScript" type="text/javascript">
    AC_FL_RunContent(
        'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0',
        ...

        'allowFullScreen', 'true',

        ...

        ); //end AC code
</script>

    <object classid="clsid:d27 ...
    ...
    <param name="allowFullScreen" value="true" />
    <param name="movie" value="test.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" />    <embed src="test.swf" quality="high" bgcolor="#ffffff" width="1280" height="760" name="test" align="middle" allowScriptAccess="sameDomain" allowFullScreen="true" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />
    </object>



저작자 표시 비영리 변경 금지
신고
Posted by 박동윤(http://www.cre8ive.kr) cre8ive

댓글을 달아 주세요


티스토리 툴바