如何更改动态文本中的文本简单按钮实例中的字段(按钮符号)?

时间:2010-05-06 12:00:53

标签: flash actionscript-3 button

这可能是一个基本的事情,但我无法通过互联网找到答案。

我创建了一个简单的按钮 - Istance name =“btnsample”

并且有两层

图层0-按钮设计与翻转 - layer 1- dynamic text field - instance name =“txtbtnlabel”

btnsample.txtbtnlabel.text =“新按钮标签;

但是它给出了以下错误:-119:通过静态类型flash.display:simpleButton的引用访问可能的未定义的propety txtbtnlabel。

如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

我找到了解决这个问题的方法,但我不知道这是不是一个完美的方法,但是它运行正常。

解决方案: -

创建一个简单的按钮并放置一个动态文本字段,并跳过此字段的即时名称。您可以按索引号访问此动态文本。

但是如果鼠标上有任何视觉效果,则需要将按钮标签分配给as3中的所有这些阶段。

代码:

//-----mous Up ----
var samplebtn_doc:DisplayObjectContainer = samplebtn.upState as DisplayObjectContainer;
var labelsamplebtn:TextField = samplebtn_doc.getChildAt(1) as TextField;
labelsamplebtn.text = "new button label";


//-----mous Over ----
var samplebtn_over:DisplayObjectContainer = samplebtn.overState as DisplayObjectContainer;
var labelsamplebtn_over:TextField = samplebtn_over.getChildAt(1) as TextField;
labelsamplebtn_over.text = "new button label";



//-----mous Down ----
var samplebtn_down:DisplayObjectContainer = samplebtn.downState as DisplayObjectContainer;
var labelsamplebtn_down:TextField = samplebtn_down.getChildAt(1) as TextField;
labelsamplebtn_down.text = "new button label";

答案 1 :(得分:0)

如果没有看到您的代码或有明确的解释,这是我最好的猜测。我希望这会有所帮助。

交换文字按钮

//Event listener
btnsample.addEventListener(MouseEvent.CLICK, buttonClick, false, 0, true);
//Button text
btnsample.txtbtnlabel.text = "button label"
//Swap text
function buttonClick(event:MouseEvent):void{
btnsample.txtbtnlabel.text = "new button label"
}