推 akkusativ:推倒卡撒特>////< 01/11 11:41
要先下載安裝
ActionScript 3.0 library for several basic utilities.
http://code.google.com/p/as3corelib/
寫在最前面,載入PNG編碼套件
import com.adobe.images.PNGEncoder;
然後新增按鍵事件
stage.addEventListener(KeyboardEvent.KEY_UP, _capture);
最後當然要新增按鍵處理function
function _capture(e:KeyboardEvent){
// CTRL + S
if(e.keyCode == 83 && e.ctrlKey){
var i:BitmapData = new BitmapData(stage.stageWidth, stage.stageHeight);
var b:ByteArray = PNGEncoder.encode(i.draw(stage));
var f:FileReference = new FileReference();
// 檔案名稱預設會加上TIME字串,可以視情況修改
f.save(b, "Filename-" + new Date().time.toString() + ".png");
}
}
因為是懶人包,所以貼文也不會太勤勞,但是內容應該不難。
黃字自己換掉,沒想到Keyboard的一些static變數居然是AIR ONLY!
當然這個方法有一些小問題。按下CTRL+S之後馬上就跳出的儲存視窗,
在場景快速變化,或是手殘太早或是太晚按的時候,很容易出問題。
而且很多人都寫過了,所以下一個改版會新增一個有趣的功能~
網頁版
http://cassatte.tw/yunsi/capture-flash-work-screen
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.224.205.16
※ 編輯: cassatte 來自: 61.224.205.16 (01/09 16:31)
※ 編輯: cassatte 來自: 59.112.239.242 (01/11 02:42)