2009年1月5日 星期一

[怪招]AS3的按鈕行為

xxx_mc.mouseChildren = false;

加了這行就差不多等於AS2的按鈕行為了,不會莫名其妙多"收"到MOUSE_OVER或MOUSE_OUT了。

感謝Vanilla!

2009年1月4日 星期日

[怪招]AS3的mask

AS3的mask並不會改變原物件的長寬;
舉例來說,一個長寬500x500的A_mc,被一個200x200的B_mc所mask,
AS2的時候,trace會發現A_mc的長寬變成200x200了,
但AS3則仍然trace出500x500。
這問題在需要對A_mc縮放的時候,會有大麻煩,
例如我想放大到寬度是1000px,則AS2會放大5倍,但AS3只會放大2倍;
試過DisplayObject的getRect()跟getBounds(),都是trace出500x500,
Vanilla找到一個怪招:
bitmapData.draw(A_mc);
trace(bitmapData.getColorBoundsRect(0xff000000,0xff000000,true));
就會回報正確的長寬了!
感謝Vanilla!

2009年1月2日 星期五

[問題]as2的escape,unescape

code:
System.useCodepage=true;
oldStr="ecardImg/%A6w%A5%FE%AEy%B4%C8%2Ejpg";
trace("oldStr : "+oldStr);
newStr=unescape(oldStr);
trace("newStr : "+newStr);
oldStr=escape(newStr);
trace("oldStr : "+oldStr);

output:
oldStr : ecardImg/%A6w%A5%FE%AEy%B4%C8%2Ejpg
newStr : ecardImg/安全座椅.jpg
oldStr : ecardImg%2F%A6w%A5%FE%AEy%B4%C8%2Ejpg

吃進去跟吐出來的不一樣!?

2008年11月18日 星期二

Flash Player 10 的 browse()

引用自:升級到 Flash Player 10 將會造成無法使用Flash檔案上傳功能
Adobe 將 Flash Player 10 中的 FileReference 這個類別做了一些改變,而這個類別中有個 FileReference.browse() 方法,可以開啟一個檔案瀏覽的視窗,用來讀取使用者端本機的檔案,最常用這個功能的應用就是「檔案上傳」功能了。在 Flash Player 9 以前,使用者個方法是沒問題的,但是到了 Flash Player 10 又更嚴格的要求 FileReference.browse() 方法的使用方式,不能透過 JavaScript 直接呼叫了,而改成一定要是由「人」點選時「直接呼叫 FileReference.browse() 方法才能使用」...