Actionscript 3 如何将输入文本值复制到MovieClip1中MovieClip2中的动态文本中

Actionscript 3 如何将输入文本值复制到MovieClip1中MovieClip2中的动态文本中,actionscript-3,flash,Actionscript 3,Flash,当前我的代码就是这样 setcustomlocation.addEventListener(MouseEvent.CLICK,customlocation2); function customlocation2(e:MouseEvent):void { locationinput.text = FlashingWon.Won1.name.text; } 我试图将输入文本字段值复制到动态文本中。然而,它抛出了一个错误 TypeError:错误#1009:无法访问空对象引用的属性或方法。

当前我的代码就是这样

setcustomlocation.addEventListener(MouseEvent.CLICK,customlocation2);

function customlocation2(e:MouseEvent):void
{
    locationinput.text = FlashingWon.Won1.name.text;
}
我试图将输入文本字段值复制到动态文本中。然而,它抛出了一个错误

TypeError:错误#1009:无法访问空对象引用的属性或方法。 在main/customlocation2()[main::frame1:9]


我只能假设它无法与另一个movieclip中的movieclip中的动态文本字段通信。

首先,您可以100%确定它可以与movieclip中的动态文本字段通信

从您的描述中,我了解到您希望将输入复制到动态。但从您的代码中,我看到您从动态中获取输入,请检查:

// This will copy in such a way: input <= wonText 
locationinput.text = FlashingWon.Won1.name.text;

// This will copy from input
FlashingWon.Won1.name.text = locationinput.text;
在构造器中,或者在不久的将来,为变量指定适当的值:

inputText = getChildByName('locationinput') as TextField;
dynoText = FlashingWon.Won1.getChildByName('name') as TextField;
通过这种方式,您很快就会知道在您提供的对象下是否没有找到这两个文本字段中的一个,并且您只有一个地方没有拼写它。此外,您还可以在文本字段上完成代码

最后,复制文本部分:

dynoText.text = inputText.text;

希望有帮助。

好吧,很抱歉耽搁了,我出去度假了。 我已经打开了您的示例,可以看到问题所在:

1) 当在第一帧上启动dynoText时,您正试图访问
FlashingWon
,如so
var dynoText=FlashingWon.Won1.getChildByName('name_txt')但FlashingWon元素仅在第五帧上可用。这意味着你还不能完全引用它,除非你将它添加到第一帧,并在第五帧之前使其不可见。(如果希望在
goToAndStop(5)
行之后,可以在
goto1
功能中使其可见)

2) 您调用了
Won1
元素“name”上的TextField,这在AS3中是一个受限制的sting,因此如果您愿意,可以将其更改为name\u txt或label,这样它就可以工作了


让我知道它是如何工作的。

我不太确定应该把代码放在哪里。我是把它们放在电影剪辑里还是放在根舞台上?另外,2 textfield之间似乎存在冲突OK,我是从你在根阶段编码的前提出发的。考虑到根据代码的位置,本地化文本字段的地址可能会有所不同。虽然我写的代码被认为是在根阶段,并且只有当输入文本也在阶段级别时。否则,您需要使用不同的地址填充输入:
inputText=inpuTextParentAtTheRoot.getChildByName('locationinput')作为文本字段是,我正在根阶段编码。但是,如果我将var inputText和dynoText都定义为Textfield,则存在冲突。另外,我真的不确定这将如何帮助我确定哪些文本字段没有找到;setlocationrundlest.addEventListener(MouseEvent.CLICK,setlocation2);函数setlocation2(e:MouseEvent):void{dynoText.text=“TESTING”}
Error#1009:无法访问空对象引用的属性或方法。在App_Beta_3_fla::main timeline/frame1()[App_Beta_3_fla.main timeline::frame1:6]中,缺少
getChildByName
方法:
var dynoText=FlashingWon.Won1.getChildByName('name')作为文本字段这有助于你只在一个地方犯下输入错误或字段位置错误的严重错误。否则,如果您继续引用它,则始终
FlashingWon.Won1.name
如果您稍后键入
FlashingWon.Won1.name
而不是在编译时键入,则代码编辑器不会找到错误,并且只有在手动测试错误所在的方法时,才会出现错误。
dynoText.text = inputText.text;