Flash에서 Full Screen 사용하기

사실 이 기능이 소개된건 좀 지났지만 정작 해볼 기회가 없었다가 요즘 잠깐 짬이 나서 자료 찾아보고 만들어 봤습니다.
만들어 봤다고 했지만 Adobe DevNet의 기술노트에 나온 코드 그대로 가져다가 살짝 바꿔준것 밖에 없지요.
생각외로 간단하더군요..

기존의 독립형 실행 플래이어(exe 프로젝터)에서 이미 구현되었던 풀스크린 기능을 웹브라우저에서도 지원할수 있게끔 하게 되었습니다.

Flash Player 9.0.28.0(최신버전) 이상에서만 작동합니다.
그러므로 저작툴은 Flex 2.0이나 Adobe Flash 9 AS3.0 Preview Public Alpha(이하 Flash 9) 를 사용하셔야 합니다.

본 소스는 Flash 9 버전을 이용해 만들었습니다.
풀스크린 테스트를 하기 위해서는 Flash 9 버전에 약간의 추가사항을 해주어야 합니다.
그 외 풀스크린에 관련된 Article은 Adobe 사이트를 참고하세요.

참고 사이트 : http://www.adobe.com/devnet/flashplayer/articles/full_screen_mode_print.html

Flash 9 설정순서 - 이 글은 Flash 9에 대해서만 기술합니다. Flex에 관한 내용은 기술하지 않습니다.

1. 위 사이트에 가서 fullscreen_article_assets.zip (ZIP, 200 KB) 을 다운 받습니다.

2. 다운 받은 파일 중 playerglobal.abc 파일을  Flash 9가 설치된 폴더 중 아래 폴더에 복사하여 넣습니다.(이미 기존에 playerglobal.abc가 있는데 이 파일을 교체하게 되는 것입니다.
    설치 폴더 : <System>\Program Files\Adobe\Flash 9 Public Alpha\en\Configuration\ActionScript 3.0\

3. ActionScript 2.0을 이용해 Full Screen을 사용하기를 원한다면 아래 위치에 있는 Stage.as 클래스에 프로퍼티를 추가해주어야 한다고 합니다.
    C:\Program Files\Macromedia\Flash 8\ko\First Run\Classes\FP8\Stage.as

    Stage.as 클래스에 다음과 같은 속성을 추가합니다.
Stage.as//****************************************************************************
// ActionScript Standard Library
// Stage object
//****************************************************************************
intrinsic class Stage
{
     static var displayState:String;
     static var align:String;
     static var height:Number;
     static var scaleMode:String;
     static var showMenu:Boolean;
     static var width:Number;
     static function addListener(listener:Object):Void;
     static function removeListener(listener:Object):Boolean;
}

4. Flash 9의 Publish Setting 메뉴의 html 탭에서 Template을 Flash with Full Screen Support 로 해야 합니다.
아니면 html 태그에서 allowFullScreen 을 추가해 주어야 합니다.





html - object, embed Tag
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="700" height="510" id="full" align="middle">
     <param name="allowScriptAccess" value="sameDomain" />
     <param name="allowFullScreen" value="true" />
     <param name="movie" value="full.swf" />
     <param name="quality" value="high" />
     <param name="bgcolor" value="#ffffff" />
     <embed src="full.swf" quality="high" bgcolor="#ffffff" width="700" height="510" name="full" align="middle" allowScriptAccess="sameDomain" allowFullScreen="true" type="application/x-shockwave-flash" pluginspage="
http://www.macromedia.com/go/getflashplayer" />
</object>


Full Screen 작동 소스 파일 : flash_fullscreen_as20.zip

본 소스 파일은 AS2.0으로 제작하였습니다. 제가 아직 3.0에 대해 감도 못잡고 있는 중인지라.. ^^
사용법은 간단합니다.

MyFullScreen 인스턴스를 생성하여 이 인스턴스의 컨텍스트 메뉴 멤버인 fullScreenCM 을 _root에 추가하였고(컨텍스트 메뉴를 추가하는 위치는 사용자 맘데로 지정하세요. 저는 _root에 추가하였습니다)

MyFullScreen 클래스에 goFullScreen 메서드와 exitFullScreen 메서드를 추가하여 이 메서드들을 상황에 맞게 호출만 했습니다.

제가 만든 소스도 위 Adobe 사이트의 기술노트에 있는 내용을 그대로 반영했기 때문에 자세히 알고 싶으시면 Adobe의 테크노트를 정독하세요.

다만 Flash 9로 제작할 때 주의할 점은 위 소스는 AS2.0 버전이기 때문에 Flash 9의 Publish Setting 메뉴에서 AS버전을 반드시 2.0으로 지정해주어야 작동합니다. "AS2.0 이니까 Flash 8에서 되겠지" 라는 생각은 터무니 없는거여요.
Flash 9로 작업하셔야 합니다.

Adobe 기술문서에 AS2.0과 AS3.0에서의 풀스크린 모드 처리 방법에 대한 차이점도 기술되어 있으니 잘 읽어보시구요.

아래 링크는 제가 만든 것 테스트 페이지입니다.
http://my.dreamwiz.com/orochi77/flash_study/full_screen/full.html

아래는 스크린샷입니다.

normal 모드일 경우


Full Screen 전환 - 우클릭 후 컨텍스트 메뉴에서 선택. MyFullScreen 클래스를 변경하면 변환시키기 위한 요소(풀스크린 버튼 또는 종료 버튼 등)를 활용할 수 있습니다.


Full Screen 상태 - Full Screen 상태를 빠져나오기 위하 잠시 일정시간동안 빠져나오기 위한 방법을 안내하는 글이 뜹니다.




태그 : , , ,

이 글과 관련있는 글을 자동검색한 결과입니다 [?]

by 꼬출든남자 | 2007/01/15 13:30 | Flash | 트랙백 | 덧글(3)

트랙백 주소 : http://orochi77.egloos.com/tb/812572
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by juNo at 2007/01/15 23:39
오.. 뭔지 잘 모르지만 언젠가는 상당히 유용하게 써먹을 듯한데요? ^^
Commented by 꼬출든남자 at 2007/01/16 00:16
지금 외국의 UCC 동영상 사이트의 경우 풀스크린 기능을 벌써 도입을 했다고 하지요..
플래시를 브라우저의 테두리 없이 풀스크린으로 띄울수 있음으로 해서 가장 만만한건 플래시 동영상 재생(flv 재생)이 있겠고 포토라이브러리라든지 기타 여러가지들을 응용해봄직하답니다.
ip-tv의 UI로도 플래시를 쓸수 있지 않을까 하는..
Commented by 나그네 at 2009/06/03 18:14
제가 원하는 스탈인데요..저도 초보라 무슨말하는지 잘 모르겠네요..
버튼기능에 뭐를 넣고 어떻게 해야하는건지..잘 구별할줄 모르긴한데..
초보자들도 쉽게 따라할수 있게 해줬으면..더 좋았겠다는 생각이 드네요..
정말 따라하고 싶은데요..쉽게 설명을 다시 해주실수는 없으신지요..
풀스크린 찾느냐고 일주일은 소비했네요..-.-
그리고 Stage.as 클래스를 추가하지 않고 위에있는거 복사해서 덮어쓰기했는데요..
혹시 다른 작업할때 버그가 생길수 있나요? 그리고 원상복구가 가능한지..요..

:         :

:

비공개 덧글

◀ 이전 페이지다음 페이지 ▶