“FlashPlatform Initialization”的版本间的差异

来自Blueidea
跳转至: 导航搜索
第7行: 第7行:
 
此示例識別舞台大小的修改並始終以一個藍色背景填充。
 
此示例識別舞台大小的修改並始終以一個藍色背景填充。
 
<syntaxhighlight lang="actionscript">
 
<syntaxhighlight lang="actionscript">
/*
 
~~ Blueidea wiki [Category:Flash platform]~~
 
www.blueidea.com
 
*/
 
 
package {
 
package {
 
   import flash.display.Shape;
 
   import flash.display.Shape;
第20行: 第16行:
 
   // ${1}
 
   // ${1}
 
   /**
 
   /**
   * The <code>Molehill</code> class.<br/>
+
   * The <code>Test</code> class.<br/>
 
   */
 
   */
 
   public class Test extends Sprite {
 
   public class Test extends Sprite {

2011-04-13T23:02:59的版本

Flash platform 應用初始化常用設置。


舞台尺寸的軟匹配:

此示例識別舞台大小的修改並始終以一個藍色背景填充。

package {
  import flash.display.Shape;
  import flash.display.Sprite;
  import flash.display.StageAlign;
  import flash.display.StageScaleMode;
  import flash.events.Event;
 
  // ${1}
  /**
   * The <code>Test</code> class.<br/>
   */
  public class Test extends Sprite {
    //==========================================================================
    //  Constructor
    //==========================================================================
    /** Constructor */
    public function Test() {
      stage.align = StageAlign.TOP_LEFT;
      stage.scaleMode = StageScaleMode.NO_SCALE;
      // 待會用來填充舞台。
      $border = new Shape();
      addChild($border);
      // 初始時先繪製一次。
      repaintBorder(stage.stageWidth, stage.stageHeight);
      // 監聽舞台大小的改變。
      stage.addEventListener(Event.RESIZE, stage_resizeHandler);
    }
    private var $border:Shape;
    private function repaintBorder(width:uint, height:uint):void {
      // ${2}
    }
    //==========================================================================
    //  Event listeners
    //==========================================================================
    private function stage_resizeHandler(event:Event):void {
      repaintBorder(stage.stageWidth, stage.height);
    }
  } // <- end class ->
}

通常我們會對stage做如上設定讓舞台在左上角對齊,並且當FlashPlayer尺寸設置時令縮放保持不變。

stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;


接下來對FlashPlayer設定一個初始大小。如果您使用的Flash IDE那麼直接在設置面板設置即可。 如果您使用的時Flash Builder那麼可以在${1}處加入使長寬為900 x 600並指定60fps刷新率。

// ${1}
[SWF(width="900", height="500", frameRate="60")]

最後在舞台尺寸改變時重新繪製邊框。

// ${2}
$border.graphics.clear();
$border.graphics.beginFill(0x00CCFF);
$border.graphics.drawRect(0, 0, width, height);
$border.graphics.endFill();

如果您操作無誤完成如上設定後會看見以下畫面。

FlashPlatform InitStage.png