Re: [問題] AS3的addChild與removeChild問題
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
Flash 近期熱門文章
PTT數位生活區 即時熱門文章