2009-11-14 67 views
17

我写在Flash/AS3的东西,我碰到这个问题来了:的Flash AS3:的ReferenceError:错误#1056:无法创建属性

ReferenceError: Error #1056: Cannot create property txtInput on package.name.DocumentClasss

基本上我有一个文档类,我可以创建影片剪辑实例并编译时不会出现问题。但是,当我在舞台上放置一个输入文本字段(调色板中的“T”图标),并拒绝编译时,出现上述错误。

我不确定这是否有所作为,但我正在FlashDevelop中编写ActionScript,并在Flash IDE中完成编译。我也有Strict ModeWarnings ModePublish Settings -> Flash -> Script -> Settings... -> Errors下选择。

我已经搜索了这个在线的解决方案,唯一的建议似乎是不在Flash IDE中插入文本字段,而是在文档类中动态创建它们。

有没有更好的解决方案?

感谢

+0

发布stacktrace以及引发错误的行(以及某些上下文)。 – 2009-11-14 13:20:54

回答

28

这听起来像你有“自动声明舞台实例”泛滥,因此,如果你想添加一个名为情况下,你需要声明它在你的类

import flash.text.TextField; 
... 
public var txtInput:TextField; 
... 

您可以在影片属性的Flash选项卡中找到声明舞台实例设置,然后单击Script:Actionscript 3选择框旁边的“设置”。

就我个人而言,我总是有这样的选择,所以它强制你在你的课堂上声明实例,你可以更好地跟踪发生了什么。

+0

谢谢!你没有选择声明阶段实例是正确的,那就是我想要的行为。我的错误是,我将文本字段声明为“flash.text.TextField”,而是以TextInput的形式声明。我很难过,因为它给了我一个参考错误而不是类型错误。 – bguiz 2009-11-15 01:25:08

+0

选项在哪里:“自动声明阶段实例”找到了? – 2010-01-05 22:16:20

+2

如果你去发布设置,选择“闪光”标签,你应该有一个“设置”按钮旁边的选择框显示“动作脚本3” 在这个窗口中,你可以取消选中“自动声明阶段实例” – Les 2010-01-06 09:13:59

相关问题