【问题标题】:BUTTON LABELS in Action Script 3动作脚本 3 中的按钮标签
【发布时间】:2013-07-12 07:07:40
【问题描述】:

谁能告诉我如何在运行时动态更改按钮标签?

这是我尝试过的代码:

var go:Button = new Button();
go = symbol_1;
go.label = "GO";

这似乎不起作用。

所述错误是“通过静态类型 flash.display:SimpleButton 的引用访问可能未定义的属性标签”

【问题讨论】:

  • 在我看来 Button 没有属性标签。
  • 您能告诉我如何在运行时设置和更改按钮上的文本吗?

标签: actionscript-3 flash flash-cs6


【解决方案1】:

首先,你做错了。如果您说var go:Button = new Button();,您将创建一个新的Button 对象,然后将另一个对象分配给go 变量。所以你创建的新的Button已经丢失了,没有引用它,所以在这种情况下不需要创建一个新的Button

其次,您的symbol_1SimpleButton 类型,因为从错误中可以清楚地看出。 SimpleButton 对象没有 label 属性,这就是为什么您在尝试分配给它时遇到错误的原因。

现在是解决方法。 您可以在您的symbol_1 中放置一个TextField 并给它一个实例名称,然后您将像这样引用它:

// assuming that instance name for the placed TextField is 'textBox'
symbol_1.textBox.text = "new label";

编辑:实际上选择下面描述的第二种方法,因为第一种方法有问题且不可靠。

或者我建议您根据 MovieClip 创建自己的类,该类具有标签属性并且可以轻松更改它。

【讨论】:

  • 非常感谢.. 由于我的声誉低,无法投票赞成您的答案:(
  • 没问题,但现在当我尝试将TextField 放入SimpleButton 时,分配新标签时出现错误。所以去你自己的按钮类吧。
  • 我将符号转换成影片剪辑,这里使用标签没有问题。
  • 是的,你可以这样做。但是,如果您尝试在 SimpleButton 中引用 TextField,则会出错。
  • @Arjun Bala 您不能投票,但如果答案解决了您的问题,您可以(必须)接受答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多