Refactoring in AS3
最近連續兩場上台講話,深深覺得自己的口條跟講話的速度還得再好好的修練。這是今天在同業的AS聚會上講的內容 Refactoring in AS3
另外這是在上星期的Flash聚會分享的 AS3 Better Practices
有需要歡迎取用 :)
最近連續兩場上台講話,深深覺得自己的口條跟講話的速度還得再好好的修練。這是今天在同業的AS聚會上講的內容 Refactoring in AS3
另外這是在上星期的Flash聚會分享的 AS3 Better Practices
有需要歡迎取用 :)
今年八月底聚集了一些對Flash有熱好的朋友們,讓大家互相認識一下平常在版上互動的人長什麼樣子,也順便透過幾個專題演講來分享一下心得
連結在此:http://www.eddie.com.tw/FlashLabs/PTT-Flash.htm
這應該算是PTT Flash版第二度的板聚(上一次是在2008年的八月,已經相隔一年了)
Flash在台灣一直比較少見有專門大型的研討會,比較大型的大多是伴隨產品上市的發表會一起辦
雖然我們這個不是官方舉辦或贊助的活動,但我還是很羨幕能有像Adobe MAX或是Flash on the Beach那樣大型的研討會
希望有一天能在台灣也能看到純粹技術發表的研討會 :)
至於我們這個PTT Flash Workshop,我想希望可以把這樣的聚會變成固定舉辦的活動,也許可以辦在寒、暑假
然後再來去借個比較大一點的場地來辦party好了 :)
Flash在跟Server在交換資料,比較常見的是一般的文字訊息或是XML,我自己在趕時間的時候,會偷懶的隨便echo一個字出來知會flash說server程式已經做完了或是程式執行之後的結果,不趕時間且資料量較多的時候,則會乖乖的用XML。不過,最近開始我比較常用的是AMF跟JSON這兩個方法,其實都還滿方便的,各有其優缺點。
在SWF裡面如果有用到UI Component裡的ComboBox,又剛好被別的SWF給loadMovie進去,這時候被load的SWF裡的ComboBox會失效,連下拉都拉不動。雖然已經是很久的已知問題,但之前有幾個案子遇到但因為時間趕,只好用別的比較蠢的方案代替。
This is caused by the v2 component architecture. This issue usually occurs when using v2 components inside a child SWF that is loaded by a parent SWF.
解決方法是只要在上層的SWF中,也拉一個Combobox到Library中就行了 ![]()
參考資料:Adobe Knowledge Base
Flash的debug是件痛苦的事,因為*.swf在browser中並不會丟出太多的訊息讓開發者知道到底發生了事情,在Flash的IDE中,可以用trace()的方式把一些測試訊息傳出來,但這在發佈成*.swf之後又看不到..
有善心人士(Alessandro Crugnola)開發了一個Firefox的外掛元件,可以讓trace()照樣像在Flash IDE一樣把訊息傳出來,讓Flash的開發人員多了一個debug的方法。
這兩天在處理一個案子時遇到一個狀況,困擾了我兩天。例如我先建立了一個menu.swf,並在menu.swf使用Sound類別建立、播放音效如下:
var mySound:Sound = new Sound();
mySound.attachSound("soundClip");
mySound.start();
單獨播放時正常,但當被load到其它swf就發生狀況,聲音出不來
查了一下Adobe網站的資料有發現這一條:
Attached sounds fail in loaded movies
這樣寫著:
This script will function properly except when the SWF containing it is loaded into another movie by aloadMovie action. In this case, the loaded movie loses it’s connection to the linked sound.
解決方法是在建立Sound類別時加個”this“就行了
var mySound:Sound = new Sound(this);
mySound.attachSound("soundClip");
mySound.start();
搞定收工 ![]()
我的環境:
Windows XP Professional(SP2)
Appserv(Apache 2.2.4, PHP/5.2.3, MySQL 5.0.45)
透過Ming就可以直接產生swf檔
http://www.ff0000.com/universe/
之前有人提到多人線上互動的做法,這個就是個很讚的demo
背景(雲霧、銀河...等等)畫得很漂亮
大家可以操作自己的人物移動,方向鍵控制上下左右移動,往上飛可以看到漂亮的雲,Ctrl鍵則會做出拳擊的準備姿勢,Ctrl+Shift則會揮拳,可以打別人的頭,Home則會讓你的角色跳舞。
動態做的很好,互動也很讚
也可以修改自己的名字,還可以像在聊天室一樣移動跟人聊天
真厲害...:)
前不久在Yahoo知識家看到有人在問怎麼樣用Flash做出Fibonacci數列的效果,發現其實用陣列配合迴圈就可以完成了
function Fibonacci(n:Number) {
var fib:Array =[0,1];
for (var i = 1; i<n-1; i++) {
fib.push(fib[i]+fib[i-1]);
}
return fib;
}
trace(Fibonacci(10));
//得到結果0,1,1,2,3,5,8,13,21,34
因為想玩AS3.0本以為Flash9在Win2000上面裝不起來,不過我個人不喜歡WinXP也不太喜歡因為AS3而安裝Flex,而用Flex SDK玩起來也很痛苦 :)
結果發現原來可以用這種方法安裝
http://blog.5d.cn/user6/xbzg/200608/299120.html
只要找台WinXP的機器安裝完再整個目錄搬過來就行了,真是簡單啊 :)
上面這個範例是從Rick Smith的Blog參考來的
http://www.philosophyme.com/index.cfm?blog=40
原作者後端用的是ColdFusion我不熟,我小改了一下用PHP丟隨機字串出來,應該也是可以玩玩看,但在安全性上應該還要再加強。如果只是實作在一般網路活動,用來防堵大量或自動化表單填寫應該勉強可以用的 :)
Ref:
-Captcha
-Rick Smith's Blog
http://tw.knowledge.yahoo.com/question/?qid=1206111000187
Q:每次在FLASH作簡單的圖片播放
需要一張張在一層層Layer作影格與淡入淡出
這樣似乎太麻煩了
請問有沒有簡單的快速製作?
http://tw.knowledge.yahoo.com/question/?qid=1206102912349
Q:Flash怎麼把數值求到小數點後兩位
利用actionscript寫
要怎麼把求出來的數值
表示到小數點後兩位呢^^?