2012年5月25日 星期五

Capabilities.screenResolutionX、Capabilities.screenResolutionY、stage.fullScreenSourceRect


Capabilities.screenResolutionX  &  Capabilities.screenResolutionY


import flash.system. Capabilities ;
/*[靜態] [唯讀] - 讀取螢幕(目前)的最大水平解析度。*/
trace("Capabilities.screenResolutionX : " + Capabilities.screenResolutionX);
/*[靜態] [唯讀] - 讀取螢幕(目前)的最大垂直解析度。*/
trace("Capabilities.screenResolutionY : " + Capabilities.screenResolutionY);


package  {
 
 import flash.display.MovieClip;
 import flash.events.Event;
 import flash.system.Capabilities;

 public class ScreenResolutionXY extends MovieClip {
  
  public function ScreenResolutionXY() {
   /*當在swf執行後,取得目前螢幕解析度最大值, 此時調整螢幕解析度,ENTER_FRAME事件並不能達到更新數值的效果*/
   this.addEventListener(Event.ENTER_FRAME,enterFrameHandler);
   return;
  }
  
  public function enterFrameHandler(event:Event):void{
   this.hPx.text = Capabilities.screenResolutionX.toString();
   this.vPx.text = Capabilities.screenResolutionY.toString();
   return;
  }
 }
}



stage.fullScreenSourceRect

全螢幕模式中的硬體縮放

在 Flash Player 或 AIR 中,可以使用 Stage 類別的 fullScreenSourceRect 屬性,將舞台的特定區域設定縮放為全螢幕模式。Flash Player 和 AIR 會使用硬體縮放 (如果可供使用的話),利用使用者電腦上的顯示卡和視訊卡,而且一般來說,透過硬體縮放顯示內容的速度通常會比軟體縮放快。

/*整個舞台放大為全螢幕*/
if(Capabilities.screenResolutionX <= 800){
stage.fullScreenSourceRect = new Rectangle(0,0,this.stage.stageWidth,this.stage.stageHeight);
}

/*以 this.stage 的 (100,100)為起點, 寬300 x 高200 pixel 區域, 被放大為全螢幕*/
stage.fullScreenSourceRect = new Rectangle(100,100,300,200);