Re: [問題] 不同as間的元件庫加入圖片到舞台

看板Flash作者時間11年前 (2013/08/26 15:03), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《m87dd05 (阿里爸爸)》之銘言: : 前些日子有在板上詢問關於不同as間的問題 : 後來經過版上大大指導後自己又試了一些功能 : 最近嘗試要按下按鈕後把元件庫的圖片放到舞台上 : (相同的做法在astest1.as可以,可是在astest2.as就不行) : 陷入鬼打牆迴圈中... : 有用trace去檢查發現把圖片加入到舞台的function確實是有執行 : 可是圖片就是沒加入@@ : 小弟猜測是跟之前問題類似astest2.as不知道圓形的這個自定義類別 : 我也有試過把 private var Circle:circle;放到astest2.as但還是不行 : 附件是我的實作檔:http://ppt.cc/6DZW : function有被執行可是圖片沒成功放到舞台 : 也沒有錯誤訊息~ 沒有在舞台出現的原因為 astest2 所產生的物件並沒有放到舞台上 ex.var t1= new astest2(); 你必須再此之後先 addChild(t1); 之前有提過不同class(as檔)之間的程式處理方式, 不過就我的經驗,初學者比較喜歡另一種做法, 雖然我比較不推薦, 因為不熟悉的人會搞不清楚class與object的差別。 ------------------- 方法:使用static astest1.as package { import flash.display.*; import flash.events.*; import astest2; public class astest1 extends MovieClip { public static var current:astest1; private var greenbtn:btn; public function astest1() { astest1.current = this; word_txt.text="執行了test1.as"; greenbtn= new btn(); greenbtn.x=100; greenbtn.y=100; addChild(greenbtn); greenbtn.addEventListener(MouseEvent.CLICK,gotoBtn_); } function gotoBtn_(event:MouseEvent):void {; var t1:astest2=new astest2(); } } } astest2.as package { import flash.display.*; import flash.events.*; public class astest2 { private var Circle:circle; public function astest2() { trace("123"); astest1.current.word_txt.text="執行了test2.as"; addImage(); } //d-**************加入圖片*********** function addImage():void { Circle= new circle(); astest1.current.addChild(Circle); trace("有執行加入圖片之function"); } //****************** } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.27.48.226

08/28 17:54, , 1F
多謝指導,受益良多!!
08/28 17:54, 1F
文章代碼(AID): #1I6lsmxh (Flash)
文章代碼(AID): #1I6lsmxh (Flash)