xxx_mc.mouseChildren = false;
加了這行就差不多等於AS2的按鈕行為了,不會莫名其妙多"收"到MOUSE_OVER或MOUSE_OUT了。
感謝Vanilla!
2009年1月5日 星期一
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!
舉例來說,一個長寬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
吃進去跟吐出來的不一樣!?
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年12月27日 星期六
2008年12月3日 星期三
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() 方法才能使用」...
Adobe 將 Flash Player 10 中的 FileReference 這個類別做了一些改變,而這個類別中有個 FileReference.browse() 方法,可以開啟一個檔案瀏覽的視窗,用來讀取使用者端本機的檔案,最常用這個功能的應用就是「檔案上傳」功能了。在 Flash Player 9 以前,使用者個方法是沒問題的,但是到了 Flash Player 10 又更嚴格的要求 FileReference.browse() 方法的使用方式,不能透過 JavaScript 直接呼叫了,而改成一定要是由「人」點選時「直接呼叫 FileReference.browse() 方法才能使用」...
2008年11月13日 星期四
訂閱:
文章 (Atom)