作者gargouille (lol)
看板Flash
标题Re: [问题] AS3的addChild与removeChild问题
时间Sat Jan 5 22:00:46 2008
※ 引述《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
1F:推 grantchiue:谢谢您~我再照着试试看~ 01/06 00:08