Re: 請問關於函式

看板Flash作者 (我是沒牌的營養師!)時間18年前 (2007/04/04 11:58), 編輯推噓4(403)
留言7則, 3人參與, 最新討論串4/5 (看更多)
※ 引述etrexetrex (ETREX)》之銘言: : ※ 引述《aquarianboy (我是沒牌的營養師!)》之銘言: : : 不過還有更有趣的做法,就是來OOP(Objected-Oritented Programming)來設計 : : 建立自己的類別,增加該類別的屬性(property)或方法(method) : : class myClass extends MovieClip{ : : function myClass(){ : : //Contrustor : : } : : function sayHello(){ : : trace("hello"); : : } : : } : : //以上程式碼需另外存成myClass.as,類別名稱與檔名大小寫需相同 : : var xyz_mc:myClass = new myClass(); : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ : : xyz_mc.sayHello(); //也會trace出"hello" : : 這樣一來只要你的movieclip是實體化或是繼承自myClass類別 : : 它就內建有sayHello這個方法 : : 供你參考 :) : 這個部分似乎有誤@@" : 由於myClass是繼承MovieClip而來的,而每個MovieClip都有自己的Depth : 所以在實作(實體化)的時候應該是: : 1.新增元件:勾選"匯出給AS使用"以及"AS2.0類別",名稱皆與myClass相同 : 以求類別與MovieClip建立關聯 : 2.this.attachMovie("myClass","myClass型態變數名稱",深度); 其實在Flash裡面,物件實體化的方法有不只一種: 一個是就如同ex大大寫的,勾選AS2.0類別後 再把它拉到舞台上,不管是用滑鼠拉,或是用attachMovie都行 另一個是用new的方法直接「實體化」一個東西出來 所以 var xyz_mc:myClass = new myClass(); 這行指的就是我用myClass類別,實體化一個xyz_mc出來 (其實在一般的OOP語言,這就是實體化囉) 而這個長出來的實體,也有sayHello的方法 也因為它是extends自MovieClip類別,所以它也有一般MC該有的property跟method 至於它是不是跟場景上實際的Movieclip有關連,那就是另一回事了 :) 我試過程式碼執行的結果,其實是沒問題的 只是不知道是不是原po要的東西 :) PS: 我原來寫的方法,其實是一般OOP的物件實體化的方法 -- 睡眠不足總是不容易把要說的東西說清楚.. :) -- http://www.eddie.com.tw/blog/ http://www.eddie.com.tw/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.136.105

04/04 13:04, , 1F
大概懂 因為我做的類別剛好是必須在場景上出現的
04/04 13:04, 1F

04/04 13:04, , 2F
所以才會有差異產生,用new的做法會看不到東西
04/04 13:04, 2F

04/04 13:06, , 3F
其實也不見得看不到,要看class怎麼設計囉 :)
04/04 13:06, 3F

04/04 13:07, , 4F
我用new的做法作不出來,樓上可以作一個new的範例嗎XD
04/04 13:07, 4F

04/04 13:16, , 5F
現在上班時間比較不方便,回家再做個出來好了 :)
04/04 13:16, 5F

04/04 13:18, , 6F
YA~
04/04 13:18, 6F

04/05 09:33, , 7F
嗯...oop真是個難懂的東西...感謝教學
04/05 09:33, 7F
文章代碼(AID): #164o9iFX (Flash)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 4 之 5 篇):
5
20
文章代碼(AID): #164o9iFX (Flash)