2012-04-23 60 views
0

我创建了一个按钮名称:编辑文本 - AS3

menuButton

和按钮里面我有两个文本框与下面的名称;

name_mb

level_mb

我已创建约6个此对象/按钮的实例。我试图为这些按钮的每个实例更改这些文本框的文本(每个实例具有不同的名称)。

这就是我想要做到的;

menu_One.level_mb.text = "hello"; 

menu_One; The name of instance

不过,我得到以下错误:

Symbol 'menuButton', Layer 'Layer 1', Frame 1 Warning: The instance name 'level_mb' is declared on an object of type fl.text.TLFTextField but there is a conflicting use of the instance name 'level_mb' on an object of type flash.display.InteractiveObject.

Symbol 'menuButton', Layer 'Layer 1', Frame 1 Warning: The instance name 'name_mb' is declared on an object of type fl.text.TLFTextField but there is a conflicting use of the instance name 'name_mb' on an object of type flash.display.InteractiveObject

。 这是由于同一对象/按钮的多个实例吗?

或者我可以为我需要的每个按钮创建一个新按钮,并手动给它文本。我宁愿通过代码来完成,因为我将有大约10个按钮,并且在将来如果我需要添加更多的按钮,它将变得更加容易。

如果需要,我可以提供更多的代码。

回答

2

您可以尝试使用严格AS3语法:

menu_One.getChildByName("level_mb") 

而铸造这是一个TextField访问text属性:

(menu_One.getChildByName("level_mb") as TextField).text = "hello";