0

当我尝试将动态文本字段的文本设置为影片剪辑中另一个动态文本字段的文本时,我收到了一个 AS3 错误。

这是我的代码:

repairMachine.screen.gotoAndStop(5);
repairMachine.screen.brandName.text = repairMachine.screen.getDefinitionByName(whichBrand).text;

第二行是发生错误的地方。

brandName 是一个名为 Screen(screen) 的 MovieClip 中的动态文本字段,它位于 MovieClip RepairMachine(repairMachine) 中。

这是我设置哪个品牌的地方:

whichBrand = "brand" + ((repairMachine.screen.selectionArea.y - 6) / 22);

此代码有效,我成功地将 whichBrand 跟踪为正确的实例名称。

我现在的问题是:为什么我收到错误 #1006 getDefinitionByName is not a function。我该如何解决?

提前致谢!

你的,

米兰。

4

2 回答 2

2

getDefinitionByName()不属于一个类。目前,您正尝试将此函数作为repairMachine.screen.

您应该删除它,并将其作为普通函数调用:

getDefinitionByName(whichBrand);

除此之外,您正在尝试访问实例。getDefinitionByName()旨在获取类定义,而不是实例。你在追求getChildByName()

于 2013-04-15T07:11:56.193 回答
1

您收到该错误是因为 getDefinitionByName 不是

repairMachine.screen

getDefinitionByName 在 flash utils 中。所以你必须像这样使用它:

import flash.utils.*;

getDefinitionByName('my.fully.qualified.class.name');

您提到 whichBrand 指向正确的实例名称。

getDefinitionByName 方法不适用于获取实例

于 2013-04-15T07:12:29.313 回答