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

看板Flash作者 (CJ Cat)時間18年前 (2008/01/05 22:21), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串3/3 (看更多)
※ 引述《gargouille (lol)》之銘言: : ※ 引述《grantchiue (鴨子)》之銘言: : : function useW1(event:MouseEvent):void{ : : var useway_mc:MovieClip=new Useway(); : : this.addChild(useway_mc); //這裡用root和stage都不行,this可過 因為AS3沒有所謂的global variable和global function的存在 所以並沒有_root這種可以隨時使用的global variable 但是每個DisplayObject都有個root和stage的property root指的就是"這個".swf,就算這個.swf被載入也一樣 至於stage這個property要能夠指到唯一的Stage instance 需要這個DisplayObject在display list上面 也就是被其他DisplayObjectContainer使用addChild()加到display list 當一個DisplayObject不在display list上的時候,stage的值會是null 另外你這是在一個listener裡面,主體不是一個DisplayObject 所以在裡面直接用root會沒有東西 需要用 event.target.root 才可以 : : 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() : : } : 如果要用getChildByName的話,那你的useway_mc要先設定名稱(name) : 試試看以下的方式: : useway_mc.name = "useway_mc"; : //這裡要先設定名稱 name : 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這裡要傳字串進去 -- CJ Cat = Croa'J Cat = Cockroach Cat = 西街凱特 = 蜚蠊貓 = 蟑螂貓 Gallery http://cjcat2266.deviantart.com ptt2 Board CJWorkshop - 阿多比閃光(Adobe Flash)研討區 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.84.15

01/06 00:08, , 1F
有點難懂,因為我基礎不太夠 囧,不過我再照著這研究看
01/06 00:08, 1F

01/06 00:09, , 2F
看~感謝您~
01/06 00:09, 2F
文章代碼(AID): #17Vv9hKH (Flash)
文章代碼(AID): #17Vv9hKH (Flash)