0

フルスクリーンで実行されるフラッシュプレゼンテーションを作成しました。数秒のアニメーションがあり、その後ビデオが再生され、ビデオが終了するとメインメニューに移動します。

ビデオは 720x1080 (16:9) ですが、Flash のドキュメントは 768x576 (4:3) です。768x576 に従ってビデオのサイズを変更したので、上部と下部に黒いバーが表示されます。Flash プレゼンテーションが正方形のモニターで実行されている場合は問題ありませんが、モニターがワイドの場合はどうなりますか。そして、「アクションスクリプト」がモニターのタイプ(ワイドまたはスクエア)を検出して、そのスクエアの場合はビデオを同じに保ちますが、モニターがワイドの場合はビデオをフルスクリーンで開始します。

4

2 に答える 2

2

Capabilitiesクラスを使用できます。これには と の 2 つのプロパティがscreenResolutionXありscreenResolutionY、この情報が得られます。これにより、プライマリ画面の解像度が得られます。

モニターが正方形であるという仮定を再考することをお勧めします。画面の解像度は 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
于 2012-07-12T07:32:12.067 に答える
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);
于 2012-07-12T08:13:09.733 に答える