Re: [問題] AS3的addChild與removeChild問題

看板Flash作者 (lol)時間18年前 (2008/01/05 22:00), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《grantchiue (鴨子)》之銘言: : 主場景影格上的AS: : import flash.events.MouseEvent; : 中略 : useway_btn.addEventListener(MouseEvent.CLICK,useW1); : useway_mc.addEventListener(MouseEvent.CLICK,useW2); : function useW1(event:MouseEvent):void{ : var useway_mc:MovieClip=new Useway(); : this.addChild(useway_mc); //這裡用root和stage都不行,this可過 : useway_mc.x=430.7; : useway_mc.y=515.5; : } : function useW2(event:MouseEvent):void{ : //var mc:MovieClip=stage.getChildByName(useway_mc); : this.removeChild(useway_mc); //不知道怎麼用removeChild() : } : 要叫進來的元件[連結屬性]裡的設定: : 類別:Useway : 基底類別:flash.display.MovieClip : ------------------------------------------------------------------------- : 我用叫一個類別為自訂Useway的影片片段,實體是useway_mc, : 然後用addChild放到主場景,這邊第一個問題,我用root.addChild一直不給過, : 改成this.addChild才可以,再來是我想做成點一下這個叫進來的元件就可以移除掉 : 的功能,但是第一個遇到的是,他會認不得useway_mc,我想是因為本來不存在主場 : 景的關係,後來看書是說可以用getChildByName來抓他的實體名稱,以利我們操作 : 物件,可是我就算寫上去他還是說不行@@|||| : 不知道要怎麼用removeChild呢?拜託前輩了~感謝 如果要用getChildByName的話,那你的useway_mc要先設定名稱(name) 試試看以下的方式: import flash.events.*; import flash.display.*; var useway_mc:MovieClip; useway_btn.addEventListener(MouseEvent.CLICK,useW1); function useW1(event:MouseEvent):void{ useway_mc = new Useway(); this.addChild(useway_mc); //這裡用root和stage都不行,this可過 useway_mc.x=100; useway_mc.y=100; useway_mc.name = "useway_mc"; //這裡要先設定名稱 name useway_mc.addEventListener(MouseEvent.CLICK,useW2); } function useW2(event:MouseEvent):void{ //var mc:MovieClip=stage.getChildByName(useway_mc); trace(this.getChildByName("useway_mc")); this.removeChild(useway_mc); //不知道怎麼用removeChild() } public function getChildByName(name:String):DisplayObject getChildName這裡要傳字串進去 -- http://www.bongiovi.tw -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 86.72.0.66

01/06 00:08, , 1F
謝謝您~我再照著試試看~
01/06 00:08, 1F
文章代碼(AID): #17VusH-9 (Flash)
文章代碼(AID): #17VusH-9 (Flash)