Re: [問題] AS3的addChild與removeChild問題
※ 引述《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
討論串 (同標題文章)
Flash 近期熱門文章
PTT數位生活區 即時熱門文章