パッケージ | flash.display |
クラス | public final class Screen |
継承 | Screen EventDispatcher Object |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
画面は、それよりも大きい可能性のある「仮想デスクトップ」内の独立したデスクトップ領域です。この仮想デスクトップの起点はオペレーティングシステムで設計されたメイン画面の左上隅になります。そのため、各表示画面の境界の座標は、負の値になる場合があります。また、どの表示画面の範囲にも含まれない仮想デスクトップの領域が存在する場合もあります。
Screen クラスには、利用可能な画面オブジェクトにアクセスするための静的なクラスメンバーと、個別の画面のプロパティにアクセスするためのインスタンスメンバーが用意されています。画面情報は、ユーザーによって常に変更される可能性があるので、キャッシュされません。
画面と、コンピューターに接続されている実際のモニターとの間には 1 対 1 の対応は必要ありません。例えば、2 つのモニターが同一の画面を表示することもあります。
Screen クラスを直接インスタンス化することはできません。new Screen()
コンストラクターを呼び出すと、ArgumentError
例外がスローされます。
プロパティ | 定義元 | ||
---|---|---|---|
bounds : Rectangle [読み取り専用]
この画面の境界です。 | Screen | ||
colorDepth : int [読み取り専用]
ビット数で表した、この画面の色深度です。 | Screen | ||
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
mainScreen : Screen [静的] [読み取り専用]
主表示です。 | Screen | ||
mode : ScreenMode
Screen オブジェクトの現在のスクリーンモードです。 | Screen | ||
modes : Array [読み取り専用]
Screen オブジェクトの ScreenMode オブジェクトの配列です。 | Screen | ||
screens : Array [静的] [読み取り専用]
現在使用可能な画面の配列です。 | Screen | ||
visibleBounds : Rectangle [読み取り専用]
この画面上にウィンドウを表示できる領域の境界です。 | Screen |
メソッド | 定義元 | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。 | EventDispatcher | ||
イベントをイベントフローに送出します。 | EventDispatcher | ||
[静的]
指定された矩形と交差する画面のセット(空の場合もあります)を返します。 | Screen | ||
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。 | EventDispatcher | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
EventDispatcher オブジェクトからリスナーを削除します。 | EventDispatcher | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのストリング表現を返します。 | Object | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object | ||
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。 | EventDispatcher |
bounds | プロパティ |
bounds:Rectangle
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
この画面の境界です。
画面の位置は、仮想デスクトップを基準としています。
特定のウィンドウマネージャーを使用している Linux システムでは、このプロパティは、表示画面の境界ではなく、デスクトップ画面の境界を返します。
実装
public function get bounds():Rectangle
例 ( この例の使用方法 )
import flash.display.Screen; import flash.geom.Rectangle; var mainScreen:Screen = Screen.mainScreen; var screenBounds:Rectangle = mainScreen.bounds;
colorDepth | プロパティ |
mainScreen | プロパティ |
mode | プロパティ |
mode:ScreenMode
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 29.0 |
Screen オブジェクトの現在のスクリーンモードです。mode
プロパティは、特定の Screen デバイスの現在のスクリーンモードを示します。
実装
public function get mode():ScreenMode
public function set mode(value:ScreenMode):void
modes | プロパティ |
screens | プロパティ |
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;
getScreensForRectangle | () | メソッド |
public static function getScreensForRectangle(rect:Rectangle):Array
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0 |
指定された矩形と交差する画面のセット(空の場合もあります)を返します。
パラメーター
rect:Rectangle — 仮想デスクトップの起点(主画面の左上隅)を基準とした座標を持つ矩形です。
|
Array — rect パラメーターで定義されている領域の一部を含む画面が含まれている Screen オブジェクトの配列です。
|
例 ( この例の使用方法 )
import flash.display.Screen; import flash.geom.Rectangle; var rect:Rectangle = new Rectangle(-200, 100, 1000, 600); var intersectedScreens:Array = Screen.getScreensForRectangle(rect);
- キーボードイベントに応答して、ドッキングする画面の側面を決定します。
- 静的な Screen クラスのメソッド
getScreensForRectangle()
にアクセスして、ウィンドウが現在表示されている画面の Screen オブジェクトを取得します。 - 画面のサイズに基づいて、ウィンドウの境界をリセットします。
- 新しいウィンドウのサイズに基づいて、ウィンドウのコンテンツを再描画します。
このクラスは、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(); } } } }
Tue Jun 12 2018, 10:34 AM Z