[問題] 請問CS4要如何使用SWC呢?

看板Flash作者 (AMO)時間15年前 (2009/02/10 14:12), 編輯推噓1(1012)
留言13則, 3人參與, 最新討論串1/1
小弟本身只接觸過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

02/10 19:14, , 1F
把 1,0拿掉試試看
02/10 19:14, 1F

02/10 21:28, , 2F
拿掉1,0後輸出會產生錯誤
02/10 21:28, 2F

02/10 21:28, , 3F
TypeError: Error #1007: 嘗試個體化非建構函式。
02/10 21:28, 3F

02/10 21:28, , 4F
at FisixTest()
02/10 21:28, 4F

02/10 21:29, , 5F
at MyFirstFisixEngine_fla::MainTimeline/frame1()
02/10 21:29, 5F

02/10 23:07, , 6F
------------------解決分隔線---------------------
02/10 23:07, 6F

02/10 23:08, , 7F
結果原因是Fisix的Vector類別雖然有import
02/10 23:08, 7F

02/10 23:08, , 8F
但是程式是跑內建的Vector()= =...
02/10 23:08, 8F

02/10 23:09, , 9F
內建的Vector因為不需要這兩個參數所以就出現錯誤
02/10 23:09, 9F

02/10 23:09, , 10F
改成new com.fileitup.fisixengine.core.Vector(1,0)
02/10 23:09, 10F

02/10 23:10, , 11F
就成功了...不過會什麼會這樣= =? 我不是import了嗎?
02/10 23:10, 11F

02/13 18:14, , 12F
一定要這樣,因為Vector是CS4的新內建class
02/13 18:14, 12F

02/13 18:14, , 13F
會有命名衝突,所以我自己都取名Vector2或Vector2D
02/13 18:14, 13F
文章代碼(AID): #19aHhcmO (Flash)