看板 Flash 關於我們 聯絡資訊
小弟本身只接觸過AS2...對於AS3跟flex的新東西比較陌生 今天終於把CS4給安裝好了,想說來學學AS3的一些應用 之前在板上看到CJ大提到的一個不錯的2D物理函式庫Fisix Engine 於是馬上就去把他抓下來玩玩看 不過他給的是一個swc檔,查了一下是flex編譯後的產物 好在CS4也支援,不過我弄了很久,還是沒辦法跑他How to Use給的code 以下是我的操作步驟: 1.開啟專案面板->新增一個MyFirstFisix專案 2.開啟專案免板右上角的選項->專案屬性->路徑->元件庫標籤->新增SWC 3.同上->專案屬性->路徑->外部元件庫標籤->新增SWC (新增的SWC是放在桌面\FisixEngine_Alpha_0.5\Bin\FisixEngine.swc) 4.新增FisixTest.as,並輸入以下code package { import com.fileitup.fisixengine.core.Vector; import flash.display.MovieClip; public class FisixTest extends MovieClip { var vector1:Vector = new Vector(1,0); public function FisixTest() { } } } 5.新增MyFirstFisix.fla並設為預設文件,然後在影格1加入以下code new FisixTest(); 6.儲存後點測試專案,結果跑出以下錯誤 1137: 引數個數錯誤。不能超過 0 個。 var vector1:Vector = new Vector(1,0); 1137: 引數個數錯誤。不能超過 0 個。 var vector1:Vector = new Vector(1,0); 看起來應該是com.fileitup.fisixengine.core.Vector沒有import進來 所以想請問板上有經驗的人可以替我看看是哪裡出錯了嗎? 小弟感激不盡!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.89.176
jones86723:把 1,0拿掉試試看 02/10 19:14
gamecubemomo:拿掉1,0後輸出會產生錯誤 02/10 21:28
gamecubemomo:TypeError: Error #1007: 嘗試個體化非建構函式。 02/10 21:28
gamecubemomo:at FisixTest() 02/10 21:28
gamecubemomo:at MyFirstFisixEngine_fla::MainTimeline/frame1() 02/10 21:29
gamecubemomo:------------------解決分隔線--------------------- 02/10 23:07
gamecubemomo:結果原因是Fisix的Vector類別雖然有import 02/10 23:08
gamecubemomo:但是程式是跑內建的Vector()= =... 02/10 23:08
gamecubemomo:內建的Vector因為不需要這兩個參數所以就出現錯誤 02/10 23:09
gamecubemomo:改成new com.fileitup.fisixengine.core.Vector(1,0) 02/10 23:09
gamecubemomo:就成功了...不過會什麼會這樣= =? 我不是import了嗎? 02/10 23:10
cjcat2266:一定要這樣,因為Vector是CS4的新內建class 02/13 18:14
cjcat2266:會有命名衝突,所以我自己都取名Vector2或Vector2D 02/13 18:14