“FlashPlatform SourceIntegration”的版本间的差异

来自Blueidea
跳转至: 导航搜索
第1行: 第1行:
 
[[Category:Thinking in ActionScript]]
 
[[Category:Thinking in ActionScript]]
 +
 +
資源集成。
  
 
==嵌入素材==
 
==嵌入素材==

2011-04-13T23:33:19的版本


資源集成。

嵌入素材

以嵌入圖片為例。最簡單快速的方式。
此方法會增加swf文件的大小。慎。

(您需要在項目根目錄下放置bunny.jpg文件。如果找不到指定文件會返回一個編譯錯誤。)

package {
  import flash.display.Bitmap;
  import flash.display.Shape;
  import flash.display.Sprite;
  import flash.display.StageAlign;
  import flash.display.StageScaleMode;
 
  [SWF(width="128", height="128")]
  /**
   * The <code>Text</code> class.<br/>
   */
  public class Test extends Sprite {
    //==========================================================================
    //  Constructor
    //==========================================================================
    /** Constructor */
    public function Test() {
      stage.align = StageAlign.TOP_LEFT;
      stage.scaleMode = StageScaleMode.NO_SCALE;
      const B:Bitmap = new $clazz() as Bitmap;
      addChild(B);
    }
    [Embed(source="bunny.jpg")]
    private var $clazz:Class;
  } // <- end class ->
}

運行後效果如下。

FlashPlatformEmbedImage.png

外部載入素材

此示例效果和上面一樣,只是改為讀入而非綁定。

package {
  import flash.display.Loader;
  import flash.display.Shape;
  import flash.display.Sprite;
  import flash.display.StageAlign;
  import flash.display.StageScaleMode;
  import flash.events.Event;
  import flash.net.URLRequest;
 
  [SWF(width="128", height="128")]
  /**
   * The <code>Text</code> class.<br/>
   */
  public class Test extends Sprite {
    //==========================================================================
    //  Constructor
    //==========================================================================
    /** Constructor */
    public function Test() {
      stage.align = StageAlign.TOP_LEFT;
      stage.scaleMode = StageScaleMode.NO_SCALE;
      $loader = new Loader();
      $loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loader_completeHandler);
      $loader.load(new URLRequest("bunny.jpg"));
    }
    private var $loader:Loader;
    //==========================================================================
    //  Event listeners
    //==========================================================================
    private function loader_completeHandler(event:Event):void {
      addChild($loader);
    }
  } // <- end class ->
}

注意Flash對下載有並發連接數限制。 所以請不要使用

for(var i:int = 0; i < n; i++) {
  var loader:Loader = new Loader();
  loader.load(new URLRequest("img" + i + ".jpg"));
}

載入其他類型文件

loader請使用URLLoader, URLStream