2011-01-11 17 views
0

これはxmlイメージメニューのテストです。コンテナを作成するコードでは、ステージにムービークリップ(menu_mc)があります。Actionscript 3 addChild問題

CODE:

import flash.display.MovieClip; 
import fl.text.TLFTextField; 
import flashx.textLayout.formats.TextLayoutFormat; 
import flashx.textLayout.elements.TextFlow; 
import flashx.textLayout.formats.TextAlign; 
import flash.display.Sprite; 

var title_mc:TLFTextField; 
var img_mc:MovieClip; 
var bg_mc:MovieClip; 
var myFormat:TextLayoutFormat; 
var myTextFlow:TextFlow; 

createContainers(); 

function createContainers():void { 

//CREATE IMAGE CONTAINER 
img_mc = new MovieClip(); 
menu_mc.addChild(img_mc); 
img_mc.x = -50; 
img_mc.y = -60,10; 

//CREATE TEXTFIELD 
title_mc = new TLFTextField(); 
addChild(title_mc); 
title_mc.x = 0; 
title_mc.y = 20; 
title_mc.width = 120; 
title_mc.height = 50,70; 
title_mc.multiline = true; 
title_mc.embedFonts = true; 
title_mc.antiAliasType = AntiAliasType.ADVANCED; 
title_mc.wordWrap = true; 
title_mc.text = "text text text text text text text"; 

myFormat = new TextLayoutFormat(); 
myFormat.textIndent = 0; 
myFormat.color = 0x0000FF; 
myFormat.fontFamily = "Arial"; 
myFormat.fontSize = 20; 
myFormat.textAlign = TextAlign.CENTER; 
myFormat.textAlignLast = TextAlign.CENTER; 

myTextFlow = title_mc.textFlow; 
myTextFlow.hostFormat = myFormat; 
myTextFlow.flowComposer.updateAllControllers(); 

//CREATE BACKGROUND CONTAINER 
bg_mc = new MovieClip(); 
menu_mc.addChild(bg_mc); 
bg_mc.x = 0; 
bg_mc.y = 70; 
bg_mc.width = 120; 
bg_mc.height = 50; 

//CRETAE SPRITE 
var square:Sprite = new Sprite(); 
square.graphics.lineStyle(1,0x000000); 
square.graphics.beginFill(0x000000); 
square.graphics.drawRect(0,0,300,300); 
square.graphics.endFill(); 
menu_mc.addChild(square); 

} 

私の問題は、私は例えばbg_mc内部の内部menu_mcと四角bg_mcことをしたいです。

私は、たとえばしよう:

menu_mc.bg_mc.addChild(square); //error 

または

menu_mc.addChild(title_mc); //textfield disapears 

フラッシュは私に、このエラーを与える:

はTypeError:エラー#1010:用語が定義されていないと持っていないプロパティ

なぜですか?

答えて

1

あなたはmenu_mcbg_mcをしたい場合は行いますbg_mc内部menu_mc.addChild(bg_mc)、 、その後square行いますbg_mc.addChild(square)

menu_mc.bg_mc.addChild(square);MovieClipmenu_mcには、bg_mcという名前のプロパティがないため、エラーが発生します。子XYZを追加することは、XYZという名前のプロパティの作成を暗示するものではありません。

+0

はい、ありがとうございます。エラーが消えて、私はもう1つのことを理解しません。なぜ私がそれらをムービークリップの中に入れれば、四角形が消えるのですか? – Sbml