私はビデオプレーヤーを作成しましたが、クリックするとビデオをフルスクリーン表示モードにするボタンを追加する必要があります。私はステージ上のすべてのものをスケールすることは望まない。ビデオだけだ。私はこれを行う方法を見つけることができないようだ - 私はそれが簡単だろうと思った。as3ビデオフルスクリーンモード
答えて
私は、表示ツリーのルートでステージオブジェクトを効果的に拡大するので、要素全体を選択するのではなく、ステージ全体をフルスクリーンに設定することができます。探している効果を達成する最善の方法は、表示したくないオブジェクトを、FullScreenEvent.FULL_SCREENイベントハンドラで整列/非表示/表示することです。
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/events/FullScreenEvent.html
また、ステージのドキュメントから関連ちらほら、displayState section:
フルスクリーンモードで動画のスケーリング動作は、ステージを使用してのscaleMode設定(設定によって決定されます。 scaleModeプロパティまたはSWFファイルの埋め込みタグ設定をHTMLファイルに追加します)。アプリケーションがフルスクリーンモードに移行しているときにscaleModeプロパティをnoScaleに設定すると、ステージの幅と高さのプロパティが更新され、ステージのサイズ変更イベントがステージングされます。これが動作するかどうか
参照:
stage.displayState = StageDisplayState.FULL_SCREEN;
videoPlayer.x = 0;
videoPlayer.y = 0;
//save the width and height in temp vars
//for restoring them later.
videoPlayer.width = stage.fullScreenWidth;
videoPlayer.height = stage.fullScreenHeight;
ステージ上の要素はあなたがfullScreenRectプロパティを使用してのではなく、単純にフルスクリーンモードに入るために、ステージのオブジェクトを指示しているかのように聞こえるスケーリングされている場合。
Amarghoshは正しいアプローチを持っていますが、それがリスナーを取り付けることで、より柔軟にすることができます。
stage.addEventListener(Event.RESIZE, _onStageResize, false, 0, true);
stage.displayState = StageDisplayState.FULL_SCREEN;
private function _onStageResize(event:Event):void
{
if(stage.displayState == StageDisplayState.FULL_SCREEN)
{
// Proportionally resize your video to the stage's new dimensions
// i.e. set its height and width such that the aspect ratio is not distorted
}
else
{
// Restore the normal layout of your elements
}
}
は最近、この問題に出くわし、これは魅力のように働きました。それで誰かを助ける場合に備えてここに置いてください。
Flexクライアントコード:
private function startFullScreen(event:MouseEvent):void
{
videoHolder.removeChild(vid); //videoHolder is an spark VideoDisplay
Component
this.stage.addChild(vid);
this.stage.displayState = StageDisplayState.FULL_SCREEN;
oldWidth = vid.width; //store old values required while going back
oldHeight = vid.height;
vid.width = this.stage.width;
vid.height = this.stage.height;
this.stage.addEventListener(FullScreenEvent.FULL_SCREEN,fullScreenHandler);
}
}
/* handler for Fullscreen */
private function fullScreenHandler(event:FullScreenEvent):void
{
//This function is called when user presses Esc key
//on returning to normal state, add the video back
if(!event.fullScreen)
{
this.stage.removeChild(vid);
videoHolder.addChild(vid);
vid.width = oldWidth;
vid.height = oldHeight;
this.stage.removeEventListener(FullScreenEvent.FULL_SCREEN,fullScreenHandler)
}
}
...
stage.displayState = StageDisplayState.NORMAL;
...
注意をフルスクリーンモードを終了するにはフルスクリーンモード
var fullScreenButton:Button = new Button();
...
addChild(fullScreenButton);
fullScreenButton.addEventListener(MouseEvent.CLICK, fullScreenButtonHandler);
...
private function fullScreenButtonHandler(event:MouseEvent)
{
var screenRectangle:Rectangle = new Rectangle(video.x, video.y, video.width, video.height);
stage.fullScreenSourceRect = screenRectangle;
stage.displayState = StageDisplayState.FULL_SCREEN;
}
を入力するには:あなたはまた、エスケープキーを押すことができます。
正しいです。しかし、ここであなたがビデオプレーヤーのサイズを変更していません! – akmozo
- 1. Flash AS3でダウンロードForce AS3
- 2. AS3
- 3. AS3
- 4. AS3:AS3プリローダーでのBulkLoader.COMPLETEイベントの処理
- 5. インテリセンスas3のas3でのflashdevelopのサポート
- 6. AS3 - アンバランススタック?
- 7. AS3オブジェクトフィルタリング
- 8. AS3テキストフィールドホワイトリスト
- 9. ソートアレイAS3
- 10. AS3スプライトハンドラ
- 11. as3ローディングアーキテクチャ
- 12. AS3パースペクティブビュー
- 13. AS3カスタムカーソルインビジブル
- 14. AS3ムービークリップ
- 15. ルーピングサウンドas3
- 16. as3シンプルスライダー
- 17. IExternalizable(as3)
- 18. as3(flash10)
- 19. アプリケーションフリーズAS3
- 20. AS3タイマークラス
- 21. AS3:ドラッグアンドドロップボタン
- 22. AS3リファレンスボタン
- 23. AS3 - graphics.clear()
- 24. プレロードサウンドAS3
- 25. AS3クラスオブジェクト?
- 26. AS3 - スケールビットマップデータ
- 27. 問題(AS3)
- 28. movieclipのAS3ボタン
- 29. AS3:は、currentTarget
- 30. のmailto AS3
これは... ^^^ – samccone