我创建了一个简单的按钮 - Istance name =“btnsample”
并且有两层
图层0-按钮设计与翻转 - layer 1- dynamic text field - instance name =“txtbtnlabel”
btnsample.txtbtnlabel.text =“新按钮标签;
但是它给出了以下错误:-119:通过静态类型flash.display:simpleButton的引用访问可能的未定义的propety txtbtnlabel。
如何解决这个问题?
答案 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"
}