2

简单的问题,我无法快速在网上找到答案 - 似乎这将在任何地方的教程中出现 - 可能是......

我有一个具有动态文本字段的影片剪辑:让我们调用字段 txtName 的实例。我想为 txtName 动态设置文本字段,所以我添加了一个小的 ActionScript(3!),它做得很好而且很容易:txtName.text = "Foo";

伟大的。现在,当我从包含具有动态文本的 MovieClip 的父 MovieClip 尝试相同的事情时,为什么它不起作用?例子:

帧 #1 中带有 TextField ActionScript 3 的子影片剪辑:

//------
function SetText(str:String):void {
   txtName.text = str;
}
//------

父影片剪辑包含上述影片剪辑(名为movieChild 的实例)在第 1 帧中具有以下动作脚本 3:

//------
movieChild.SetText("Hello Child"); // Doesn't work
movieChild.txtName.text = "Hello Child"; // Doesn't work
MovieClip(movieChild).txtName.text = "Blah"; // Doesn't work

我错过了什么简单的事情?我知道 TextField 中的文本实际上是通过跟踪检查来设置的,但显示实际上并没有改变。

准备好接受一个令人尴尬和谦卑的答案。

埃迪

4

2 回答 2

1

对于这个愚蠢的问题,我很抱歉。我遇到了一个简单的命名错误问题。没有抛出任何错误,我所做的所有痕迹似乎都是正确的,但没有任何变化。

问题的根源是我决定加入一个“HotSpot”翻转movieClip,并最终将其称为与Text movieClip相同的东西。发帖前应该仔细看一下。

我仍然不确定为什么它没有引发错误。就使用“公共”而言,这不是仅在您使用外部 Actionscript 文件时才有效,即,不是直接附加到 timeLine 的操作吗?

感谢您的输入!

于 2010-03-05T15:29:50.990 回答
1

可能只是您的函数 SetText 不是公开的。在“功能”之前粘贴“公共”,然后再试一次,应该可以工作:)

对于您尝试直接设置它的第二行,可能是相同的问题;如果您的文本字段的变量声明不是公开的。

于 2010-03-05T01:19:33.943 回答