顯示具有 AS3筆記 標籤的文章。 顯示所有文章
顯示具有 AS3筆記 標籤的文章。 顯示所有文章

2012年12月13日 星期四

[AS3]ThrottleEvent


flash.events.ThrottleEvent  
語言版本: ActionScript 3.0
執行階段版本: Flash Player 11, AIR 3.2

當 Flash Player 節流、暫停或繼續播放內容時會傳送 ThrottleEvent。




2012年11月19日 星期一

AS3的FLVPlayback(2.0或2.5)只能播即時或錄製串流mp3(不能播近端mp3)


※AS3的FLVPlayback(2.0或2.5)只能播即時或錄製串流mp3(不能播近端mp3)


選取stage上的FLVPlayback狀態下,在屬性面板 source欄位→指定近端mp3路徑時,
出現以下錯誤訊息 :

→ NetStream.Play.StreamNotFound  Adobe Flash 嘗試播放不存在的即時或錄製串流。找不到來源。

所以, Desktop上, 以Flash FLVPlayback播放mp3, 需要對應以下rtmp通訊協定串流mp3網址型式 :

rtmp://URL/目錄/xxx.mp3';




2012年8月8日 星期三

Google Chrome 無法播放本機Flash FLVPlayback.source所指定的mp4

Google Chrome 無法播放本機Flash FLVPlayback.source所指定的mp4
(印象中好想原本可以播哦!!!)

Flash FLVPlayback 於(pc)本機播放外部MP4影音功能, 在IE、FF、Safari、Opera瀏覽器都正常;唯獨 Google Chrome 雖然已經載入Flash播放介面,但無法播放所指向的Mp4。

之後經由Web Server ->>  http://localhost/ , 果然能播放。這大概與parent、top之於Chrome是同樣的問題 吧!!!

2012年7月17日 星期二

.FLVPlayback.load() + VideoEvent.READY

fl.video.FLVPlayback.load()方法
public function load(source:String, totalTime:Number = NaN, isLive:Boolean = false):void

ready 事件
事件物件類型: fl.video.VideoEvent
屬性 VideoEvent.type = fl.video.VideoEvent.READY

→ 可在ready的事件處理函式調用FLVPlayback.play()方法開始播放

呼叫 load() 方法並搭配 URL,效果如同將 source 屬性設定為該 URL,加上設定 autoPlay 屬性為 false



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);





2012年3月4日 星期日

[AS3] 將點陣圖Bitmap物件使用於SimpleButton的四種按鈕狀態

SimpleButton(upState:DisplayObject = null, overState:DisplayObject = null, downState:DisplayObject = null, hitTestState:DisplayObject = null)
建立新的 SimpleButton 實體。
http://help.adobe.com/zh_TW/FlashPlatform/reference/actionscript/3/flash/display/SimpleButton.html


1010302__bitmapBtnTest_Jack.swf


import flash.display.BitmapData;
import flash.display.Bitmap;
import flash.events.MouseEvent;
import flash.display.SimpleButton;

var bmd1:BitmapData = new BitmapData(100,100,true,0xff2266ff);
var bm1:Bitmap = new Bitmap(bmd1);
bm1.x=100;bm1.y=60;
/*this.addChild(bm1);*/

var bmd2:BitmapData = new BitmapData(100,100,true,0xffff0000);
var bm2:Bitmap = new Bitmap(bmd2);
bm2.x=100;bm2.y=60;
/*this.addChild(bm2);*/

var simpleButton:SimpleButton = new SimpleButton(bm1,bm2,null,bm1);
addChild(simpleButton);

simpleButton.addEventListener(MouseEvent.MOUSE_DOWN,mouseHandler);

function mouseHandler(event:MouseEvent):void{
 trace(event.type);
}

trace(getSize(simpleButton));


SimpleButton Inheritance DisplayObjectContainer Inheritance InteractiveObject Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object
Bitmap Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object

2012年1月3日 星期二

[AS3] AS3 內建的 BitmapData.hitTest()方法 - 像素級碰撞偵測

[AS3] AS3 內建的 BitmapData.hitTest()方法 - 像素級碰撞偵測
BitmapData.hitTest()方法:
BitmapData.hitTest(firstPoint:Point, firstAlphaThreshold:uint, secondObject:Object, secondBitmapDataPoint:Point = null, secondAlphaThreshold:uint = 1):Boolean

A. BitmapData.hitTest() 似乎是個常被忽略的方法
B. 這與 DisplayObject 的 hitTestObject()hitTestPoint() 方法的能耐截然不同

















2012年1月2日 星期一

[AS3] BitmapData.scroll()方法 (捲動點陣圖內容)→ 發射了

scroll()方法
public function scroll(x:int, y:int):void
以一定的 (x, y) 像素量來捲動影像。 捲動區域外圍的邊緣區域維持不變。
BitmapData.colorTransform()
BitmapData.fillRect()










AS3類別表

AS3類別表 -
http://violentcoding.com/content/AdobeAS3ClassDiagramViewer/index.html
挺讚的 !!! 但卻是MS silverlight所製作...... 叫人吃了一驚


2011年12月5日 星期一

[AS3] 漸層動畫 ← 使用位元移動(bitwise)運算子拆解和組合RGB色碼

private function separateRGB(_color:uint):Object{
return {_r24:_color >> 16, _g24:_color >> 8 & 0xff, _b24:_color & 0xff};
}
private function combineRGB(_r24:uint,_g24:uint,_b24:uint):uint{
return _r24 << 16 | _g24 << 8 | _b24;
}

位元移動(bitwise)運算子,參考Flash Help以下連結
FlashPlatform_reference__運算子(operators) _●& bitwise AND 運算子 及其以下其它相關運算子


,拜讀奶綠茶的文章

位元移動與RGB - milkmidi Blog


2011年11月23日 星期三

[AS3] Graphics.beginGradientFill() → 漸層填色

Graphics.beginGradientFill()
public function beginGradientFill(type:String, colors:Array, alphas:Array, ratios:Array, matrix:Matrix = null, spreadMethod:String = "pad", interpolationMethod:String = "rgb", focalPointRatio:Number = 0):void

Matrix.createGradientBox()
public function createGradientBox(width:Number, height:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void

GradientType、SpreadMethod class
















[AS3] 殘影效果 → 加上 z 軸的 Tween












2011年11月22日 星期二

[AS3] 殘影效果 → 加上BlurFilter、GrowFilter慮鏡

GlowFilter(color:uint = 0xFF0000, alpha:Number = 1.0, blurX:Number = 6.0, blurY:Number = 6.0, strength:Number = 2, quality:int = 1, inner:Boolean = false, knockout:Boolean = false)
以指定的參數初始化新的 GlowFilter 實體。
BlurFilter(blurX:Number = 4.0, blurY:Number = 4.0, quality:int = 1)
以指定的參數初始化濾鏡。










[AS3] 殘影效果→Tween動畫路徑

BitmapData.colorTransform()
BitmapData.draw()
Tween()建構函式
public function Tween(obj:Object, prop:String, func:Function, begin:Number, finish:Number, duration:Number, useSeconds:Boolean = false)
建立 Tween 類別的實體。 可以使用建構函數並搭配 new 運算子:var myTween:Tween = new Tween()。


2011年11月21日 星期一

[AS3] 殘影效果拖曳_BitmapData.colorTransform()、draw()

BitmapData.colorTransform()
BitmapData.draw()


[AS3] BitmapData.colorTransform()方法_改變點陣影像指定區域顏色值


BitmapData.colorTransform(rect:Rectangle, colorTransform:flash.geom:ColorTransform):void
使用 ColorTransform 物件調整點陣圖影像指定區域中的顏色值。 如果矩形符合點陣圖影像的邊界,則此方法將會變化整個影像的顏色值。
參數
rect:Rectangle — 定義 ColorTransform 物件套用之影像區域的 Rectangle 物件。
colorTransform:flash.geom:ColorTransform — 用來說明要套用之顏色轉換值的 ColorTransform 物件。




2011年11月20日 星期日

[AS3] hitTestObject()_陸續產生500個紅色塊與500艘飛船的碰撞偵測與爆破、移除、記憶體回收

多對多碰撞的物件導向一對一偵測,不使用陣列

2011年11月12日 星期六

[AS3] 簡易ScrollBar

1001111_customScrobar_1.swf


fla下載

Main.as......
package  {
 
 import flash.display.MovieClip;
 import flash.events.MouseEvent;
 import flash.geom.Rectangle;
 import caurina.transitions.*;
 import flash.events.Event;
 
 public class Main extends MovieClip {
  
  public var container:MovieClip;
  public var displayZone:MovieClip;
  public var track:MovieClip;
  public var slider:MovieClip;
  private var bounds:Rectangle;
  private var minScrollValue:Number;
  private var maxScrollValue:Number;
  private var initPOsY:Number;
  
  public function Main() {
   this.initial();
   this.setListener();
   return;
  }
  
  private function initial():void{
   this.initPOsY = this.container.y;
   this.minScrollValue = 0;
   this.maxScrollValue = this.track.height-this.slider.height;
   this.bounds = new Rectangle(this.track.x, this.track.y, this.minScrollValue, this.maxScrollValue);
   this.container.mask = this.displayZone;
   return;
  }
  
  private function setListener():void{
   this.slider.addEventListener(MouseEvent.MOUSE_DOWN,dragHandler);
   this.stage.addEventListener(MouseEvent.MOUSE_UP,dragHandler);
   this.addEventListener(Event.ENTER_FRAME,scrollcontent);
   return;
  }
  
  private function dragHandler(event:MouseEvent):void{
   /*trace(event.type);*/
   switch(event.type){
    case "mouseDown":
     this.slider.startDrag(false,bounds);
    break;
    case "mouseUp":
     this.slider.stopDrag();
    break;
    default:
    break;
   }
   return;
  }
  
  private function scrollcontent(event:Event):void{
   var _percent:Number = (this.slider.y-this.track.y)/(maxScrollValue);
   /*trace("_percent : " + _percent);*/
   Tweener.addTween(this.container,{y:(this.initPOsY - _percent*(this.container.height-this.displayZone.height)),time:1});
   return;
  }
 }
}

2011年8月26日 星期五

[AS3] Security.showSettings()__啟動「Flash Player 設定」面板


flash.system.Security.showSettings()

//顯示使用者最後一次關閉「Flash Player 設定」時所開啟的面板
//Security.showSettings("default");
Security.showSettings(SecurityPanel.DEFAULT);

//顯示「Flash Player 設定」中的「攝影機」面板
//Security.showSettings("camera");
Security.showSettings(SecurityPanel.CAMERA);

//顯示「Flash Player 設定」中的「麥克風」面板
//Security.showSettings("microphone");
Security.showSettings(SecurityPanel.MICROPHONE);

//顯示「Flash Player 設定」中的「顯示」面板
//Security.showSettings("display");
Security.showSettings(SecurityPanel.DISPLAY);

//顯示「Flash Player 設定」中的「本機儲存設定」面板
//Security.showSettings("localStorage");
Security.showSettings(SecurityPanel.LOCAL_STORAGE);

//顯示「Flash Player 設定」中的「隱私權設定」面板
//Security.showSettings("privacy");
Security.showSettings(SecurityPanel.PRIVACY);

//在不同的瀏覽器視窗中顯示「設定管理員」
/*Security.showSettings("settingsManager");*/
Security.showSettings(SecurityPanel.SETTINGS_MANAGER);

2011年8月15日 星期一

[AS3] 讀取作業系統剪貼簿

flash.desktop.ClipboardFormats

package System {
package System {
 
 import flash.display.MovieClip;
 import flash.desktop.ClipboardFormats;

 public class setClipboard_1000815 extends MovieClip {
  
  public function setClipboard_1000815() {
   /*讀取作業系統剪貼簿*/
   var clipboardData:String  = 
Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT) as String;
  }
 }
}