AS3参照系が苦手で

分かったつもりだったけど、未だにハマッテしまう・・・。

http://megad.heteml.jp/asstudy/2008/11/addchildmc.html

結局

配置→名前つける→イベントで参照

getChildByNameで名前で呼ぶ、ここで型とどこにあるかを決める。

var targetMc:Sprite = mc.parent.getChildByName(“dotBase”) as Sprite;

そんで

targetMc.addChild(mySprite);

とかする。

[sourcecode language=”java”]

private function dot(mc:MovieClip):void {

var targetMc:Sprite = mc.parent.getChildByName("dotBase") as Sprite;  
//dot
var myBitmapData:BitmapData = new BitmapData (2, 2, true, 0x00000000);
myBitmapData.setPixel32 (1, 1, 0xFF000000);
myBitmapData.setPixel32 (1, 1, 0xFFFFFFFF);

var mySprite:Sprite = new Sprite ();
mySprite.graphics.beginBitmapFill (myBitmapData, null, true, true);
mySprite.graphics.drawRect (0, 0, stage.stageWidth, stage.stageHeight);
targetMc.addChild(mySprite);
}

[/sourcecode]

さらに補足

if(getChildByName( "toolchip_mc" ) as MovieClip)
ってifでやれば、toolchip_mcがあるときだけ実行できる!

[sourcecode language=”java”]</pre>
if(getChildByName( "toolchip_mc" ) as MovieClip) {
var targetMc:MovieClip = getChildByName( "toolchip_mc" ) as MovieClip;
var parentObjectx:Object = Object(targetMc.parent);
parentObjectx.removeChild(targetMc);
targetMc.removeEventListener(Event.ENTER_FRAME, chipMovie);
}
<pre>[/sourcecode]