(AIR のみ)
パッケージflash.display
クラスpublic final class Screen
継承Screen Inheritance EventDispatcher Inheritance Object

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0

Screen クラスは、このアプリケーションで利用できる表示画面についての情報を提供します。

画面は、それよりも大きい可能性のある "仮想デスクトップ" 内の個別のデスクトップ領域です。この仮想デスクトップの起点はオペレーティングシステムで設計されたメイン画面の左上隅になります。そのため、各表示画面の境界の座標は、負の値になる場合があります。また、どの表示画面の範囲にも含まれない仮想デスクトップの領域が存在する場合もあります。

Screen クラスには、利用可能な画面オブジェクトにアクセスするための静的なクラスメンバーと、個別の画面のプロパティにアクセスするためのインスタンスメンバーが用意されています。画面情報は、ユーザーによって常に変更される可能性があるので、キャッシュされません。

画面と、コンピュータに接続されている実際のモニタとの間には 1 対 1 の対応は必要ありません。例えば、2 つのモニタが同一の画面を表示することもあります。

Screen クラスを直接インスタンス化することはできません。new Screen() コンストラクタを呼び出すと、ArgumentError 例外がスローされます。

例を表示



パブリックプロパティ
 プロパティ定義元
  AIR-only bounds : Rectangle
[読み取り専用] この画面の境界です。
Screen
  AIR-only colorDepth : int
[読み取り専用] ビット数で表した、この画面の色深度です。
Screen
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  AIR-only mainScreen : Screen
[静的] [読み取り専用] 主表示です。
Screen
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  AIR-only screens : Array
[静的] [読み取り専用] 現在使用可能な画面の配列です。
Screen
  AIR-only visibleBounds : Rectangle
[読み取り専用] この画面上にウィンドウを表示できる領域の境界です。
Screen
パブリックメソッド
 メソッド定義元
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
EventDispatcher
 Inherited
イベントをイベントフローに送出します。
EventDispatcher
  
[静的] 指定された矩形と交差する画面のセット (空の場合もあります) を返します。
Screen
 Inherited
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
EventDispatcher
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
EventDispatcher
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
 Inherited
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
EventDispatcher
イベント
 イベント 概要 定義元
 Inherited[ブロードキャスト イベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。EventDispatcher
 Inherited[ブロードキャスト イベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。EventDispatcher
プロパティの詳細
AIR-only boundsプロパティ
bounds:Rectangle  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0

この画面の境界です。

画面の位置は、仮想デスクトップを基準としています。



実装
    public function get bounds():Rectangle


次の例は、画面の境界 (ここでは主表示画面) を取得する方法を示したものです。
import flash.display.Screen;
import flash.geom.Rectangle;

var mainScreen:Screen = Screen.mainScreen;
var screenBounds:Rectangle = mainScreen.bounds;
AIR-only colorDepthプロパティ 
colorDepth:int  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0

ビット数で表した、この画面の色深度です。



実装
    public function get colorDepth():int


次の例は、画面の色深度 (ここでは主表示画面) を取得する方法を示したものです。

var mainScreen:Screen = Screen.mainScreen;
var colors:uint = mainScreen.colorDepth;
AIR-only mainScreenプロパティ 
mainScreen:Screen  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0

主表示です。



実装
    public static function get mainScreen():Screen


次の例は、このコンピュータの [メイン] 画面を表す Screen オブジェクトを取得する方法を示したものです。

var primaryScreen:Screen = Screen.mainScreen;
AIR-only screensプロパティ 
screens:Array  [読み取り専用]

言語バージョン: ActionScript 3.
ランタイムバージョン: AIR 1.0

現在使用可能な画面の配列です。

返された配列を変更しても、使用可能な画面には影響しません。



実装
    public static function get screens():Array


次の例は、使用可能な画面を含む配列を取得する方法を示したものです。

var screenArray:Array = Screen.screens;
AIR-only visibleBoundsプロパティ 
visibleBounds:Rectangle  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0

この画面上にウィンドウを表示できる領域の境界です。

画面の visibleBounds では、Windows のタスクバー(および他のドッキングされたデスクバー)が除外され、Mac OS X のメニューバーおよびシステム設定によってはドックが除外されます。Linux の一部の設定では、表示境界を決定できません。その場合、visibleBounds プロパティは screenBounds プロパティと同じ値を返します。



実装
    public function get visibleBounds():Rectangle


次の例は、使用可能な画面の境界 (ここでは主表示画面) を取得する方法を示したものです。
import flash.display.Screen;
import flash.geom.Rectangle;

var mainScreen:Screen = Screen.mainScreen;
var screenBounds:Rectangle = mainScreen.visibleBounds;
メソッドの詳細
AIR-only getScreensForRectangle()メソッド
public static function getScreensForRectangle(rect:Rectangle):Array

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0

指定された矩形と交差する画面のセット (空の場合もあります) を返します。

パラメータ

rect:Rectangle — 仮想デスクトップの原点 (主画面の左上隅) を基準とした座標を持つ矩形です。

戻り値
Arrayrect パラメータで定義されている領域の一部を含む画面が含まれている Screen オブジェクトの配列です。



次の例は、少なくとも指定された矩形の一部を含む画面の配列を取得する方法を示したものです。
import flash.display.Screen;
import flash.geom.Rectangle;

var rect:Rectangle = new Rectangle(-200, 100, 1000, 600);
var intersectedScreens:Array = Screen.getScreensForRectangle(rect);
例の使用法
ScreenExample.as

次の例では、DockingWindow クラスを使用して、画面の側面にドッキングするウィンドウを定義します。これを行うには、以下の手順を実行します。
  1. キーボードイベントに応答して、ドッキングする画面の側面を決定します。
  2. 静的な Screen クラスのメソッド getScreensForRectangle() にアクセスして、ウィンドウが現在表示されている画面の Screen オブジェクトを取得します。
  3. 画面のサイズに基づいて、ウィンドウの境界をリセットします。
  4. 新しいウィンドウのサイズに基づいて、ウィンドウのコンテンツを再描画します。

このクラスは、SystemChrome="none" および transparent="true" の設定を持つ AIR アプリケーションのルートクラスとして使用することを目的としていることに注意してください。 システムクロムを使用するウィンドウでこのクラスを使用するには、ウィンドウの位置とサイズを計算するときに、クロムの幅とウィンドウの最小幅を考慮する必要があります。


package
{
    import flash.display.Screen;
    import flash.display.Sprite;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;
    import flash.events.KeyboardEvent;
    import flash.geom.Rectangle;
    import flash.ui.Keyboard;

    public class DockingWindow extends Sprite
    {
        private const dockedWidth:uint = 80;
        private const dockedHeight:uint = 80;
        
        public function DockingWindow():void{
            stage.align = StageAlign.TOP_LEFT;
            stage.scaleMode = StageScaleMode.NO_SCALE;
            stage.addEventListener(KeyboardEvent.KEY_DOWN,onKey);
            dockLeft();
        }
        
        private function onKey(event:KeyboardEvent):void{
            switch(event.keyCode){
                case Keyboard.LEFT :
                    dockLeft();
                    break;
                case Keyboard.RIGHT :
                    dockRight();
                    break;
                case Keyboard.UP :
                    dockTop();
                    break;
                case Keyboard.DOWN :
                    dockBottom();
                    break;
                case Keyboard.SPACE :
                    stage.nativeWindow.close();
            }    
        }
        
        public function dockLeft():void{
            var screen:Screen = getCurrentScreen();
            stage.nativeWindow.x = screen.visibleBounds.left;
            stage.nativeWindow.y = screen.visibleBounds.top;
            stage.nativeWindow.height = screen.visibleBounds.height;
            stage.stageWidth = dockedWidth;
            drawContent();
        }
        
        public function dockRight():void{
            var screen:Screen = getCurrentScreen();
            stage.nativeWindow.x = screen.visibleBounds.width - dockedWidth;            
            stage.nativeWindow.y = screen.visibleBounds.top;
            stage.stageWidth = dockedWidth;
            stage.nativeWindow.height = screen.visibleBounds.height;
            drawContent();
        }
        
        public function dockTop():void{
            var screen:Screen = getCurrentScreen();
            stage.nativeWindow.x = screen.visibleBounds.left;
            stage.nativeWindow.y = screen.visibleBounds.top;
            stage.nativeWindow.width = screen.visibleBounds.width;
            stage.stageHeight = dockedHeight;
            drawContent();
        }
        
        public function dockBottom():void{
            var screen:Screen = getCurrentScreen();
            stage.nativeWindow.x = screen.visibleBounds.left;
            stage.nativeWindow.y = screen.visibleBounds.height - dockedHeight;
            stage.nativeWindow.width = screen.visibleBounds.width;
            stage.stageHeight = dockedHeight;    
            drawContent();        
        }
        
        private function getCurrentScreen():Screen{
            return Screen.getScreensForRectangle(stage.nativeWindow.bounds)[0];
        }
        
        private function drawContent():void{
            const size:int = 60;
            const pad:int = 10;
            var numHSquares:int = Math.floor(stage.stageWidth/(size + pad));
            var numVSquares:int = Math.floor(stage.stageHeight/(size + pad));
            with (graphics){
                clear();
                lineStyle(1);
                beginFill(0x3462d5,.7);
                for(var i:int = 0; i < numHSquares; i++){
                    for(var j:int = 0; j < numVSquares; j++){                
                            drawRect((i * (size + pad)) + pad, (j * (size + pad)) + pad, size, size);
                    }
                }
                endFill();
            }
        }
    }
}




 

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/flash/display/Screen.html