2012-07-12 2 views
0

나는 풀 스크린으로 실행되는 플래시 프리젠 테이션을 만들었는데, 몇 초의 애니메이션이 있고 비디오가 시작되어 비디오가 끝나면 메인 메뉴로 간다.모니터가 넓거나 사각형인지 감지하고 그에 따라 비디오를 설정할 수 있습니까?

비디오는 720x1080 (16 : 9)이지만 플래시의 내 문서는 768x576 (4 : 3)입니다. 768x576에 따라 비디오의 크기를 조정 했으므로 위쪽과 아래쪽에 검은 색 막대가 나타납니다. 내 플래시 프리젠 테이션을 스퀘어 모니터에서 실행하면 모니터가 광각 인 경우에는 어떨까요? 그리고 "Square"가 비디오를 동일하게 유지하지만 모니터가 너비가 넓 으면 전체 화면으로 비디오를 시작하는 경우 "동작 스크립트"에서 모니터 유형 (와이드 또는 스퀘어)을 감지하려고합니다.

답변

2

Capabilities 클래스를 사용할 수 있으며 두 가지 속성, screenResolutionXscreenResolutionY이 있습니다.이 정보는이 정보를 제공합니다. 이것은 기본 화면의 해상도를 제공합니다.

모니터가 정사각형이라는 가정을 다시 생각해 볼 수 있습니다. 화면 해상도는 4 : 3 (640x480, 800x600, 1024x768, 1280x1024) 또는 와이드 스크린 모니터에서 4 : 3 또는 정사각형 (1920x1080)이 아닌 다른 비율로 모니터합니다. 와이드 스크린 모니터가 사용하는 비율에 대해 조사하고 싶을 수도 있습니다 (랩탑에는 다양한 값이있을 수 있습니다).

코드는 화면 해상도의 Flash Player를 조회해야합니다

var screenWidth:Number = Capabilities.screenResolutionX; 
var screenHeight:Number = Capabilities.screenResolutionY; 

는 그런 다음 전체 화면으로 전환하거나 일반 크기 (768x576)에서 비디오를 렌더링 할 수있는 적절한 시간을 결정할 수 있습니다. 나는 이것을 결정하는 두 가지 방법을 생각할 수 있습니다, 당신도 그렇게 할 수있을 것이라고 확신합니다.

if screen is not 4:3, assume wide screen and use full screen 
if screenWidth >= actual width of video (1080), use full screen 
+0

샘플 스크립트를 제공 할 수 있습니까? – ab8action

+0

나는 이것에 대해 생각한 후에 나의 대답을 편집했다. –

+0

내가 생각할 수있는 가장 간단한 해결책은 모니터가 시장에 여러 가지로 나옵니다. 해상도는 1600x900입니다. 화면 해상도는 회사마다 다릅니다. 하지만 한 가지는 똑같습니다. 모니터는 정사각형 또는 와이드입니다. 이걸 감지하면됩니다. "Capabilities"섹션에 대해 조사 중입니다 ... – ab8action

0

ActionScript의하지만 다음 정확히이 코드를 같이하는 방법의 성적표입니다 :

여기 앱에 대한 적절한 해결책을 생각 얻기 위해 의사 코드에서 몇 가지 아이디어를합니다.

var nScreenWidth:Number = Capabilities.screenResolutionX, 
    nScreenHeight:Number = Capanilities.screenResolutionY; 

var nVideoWidth:Number = video.source.getWidth(), //assuming you are using video class, this should be video native size and not video component size. 
    nVideoHeight:Number = video.source.getHeight(); 

var nRatioX:Number = nVideoWidth/nScreenWidth, //Calculating X and Y ratio of video source and screen. 
    nRatioY:Number = nVideoHeight/nScreenHeight; 

var nRatio:Number = Math.min(nRatioX, nRatioY); //Picking up smaller ratio so that we can fit video in screen. 

video.width = Math.round(nScreenWidth * nRatio); //Set video component width and height, this should make it fit to screen keeping aspect ratio. 
video.height = Math.round(nScreenHeight * nRatio); 
+0

잘 모르겠습니다. 제 언어가 제가 말하고자하는 것을 설명하기에 충분히 명확한 경우. 나는 여기에 이미지를 붙여 넣을 수 있었으면 좋겠다. – ab8action

+0

수 있습니다. 당신은 alos 일부 서버에 이미지를 업로드하고 경로를 줄 수 ... – DexTer

관련 문제