`
nzu06nzu
  • 浏览: 14983 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

AS3,ReferenceError: Error #1056: 无法为 ×× 创建 属性 ×××。

 
阅读更多

AS3,ReferenceError: Error #1056: 无法为 ×× 创建 属性 ×××。
2010年12月15日
  迷茫中已经走过一段不短的路途
  北京奥运,2008夺金之路。。。生活中的一个冲刺。 AS3,ReferenceError: Error #1056: 无法为 ×× 创建 属性 ×××。
  Flash2010-12-15 10:06:55阅读14评论0  字号:大中小 订阅 当把显示对象关联到脚本类,而此时又将这个显示对象中的显示对象在属性面板中设置了名称,会出现“ReferenceError: Error #1056: 无法为 ×× 创建属性 ×××。”的错误。网上都说在脚本类中定义一个相同名称和类型的共有属性即可,其实不需要这么麻烦,只需像下面这样做: 在Flash9中,“文件”菜单,“发布设置”,在ActionScript版本选择后面的“设置...”按钮,进入ActionScript3.0设置,将“舞台:自动声明舞台实例”的复选框勾选上,再导出就OK了。 在 Flash 9中, 你可以把一个舞台对象关联到一个脚本类 (Actionscript class) . 你可以把一个 MovieClip的扩展对象拖放在舞台上, 然后在属性面板(properties pane), 指定其属性.但是当你试图使用这个新功能的时候,却会得到类似于下面的错误报告: 
  ReferenceError: Error #1056: 
  Cannot create property test1_btn on Test.
  at flash.display::Sprite/flash.display:Sprite::constr uctChildren()
  at flash.display::Sprite$iinit()
  at flash.display::MovieClip$iinit()
  at Test$iinit()
  事实上,这是因为必须公开地(publicly) 声明任何在你的类中出现的对象 (Buttons, MovieClips, TextFields, etc.) 包括那些在舞台上已经被命名过的对象
  比如,你在舞台上绘制了一个叫做“myMc”的对象,那么在对应的类中,就应该把它声明为一个公开变量 (public var) :
  package
  {
  import flash.display.MovieClip;
  public class Test extends MovieClip
  {
  public var myMc:MovieClip;
  public function Test()
  {
  }
  }
  }
  ================================================== ============
  下面写一个例子:
  第一步:创建一个影片剪辑(chengye_txt),在里面绘制一个动态文本框,并为动态文本框命名(psw),编辑完成后从库中拖一个实例在舞台上。
  第二步:创建一个chengye_txt.as文件,在里面输入:
  package{
  import flash.text.TextField;
  import flash.display.MovieClip;
  public class chengye_txt extends MovieClip{
  public var psw:TextField;
  public function chengye_txt(){
  psw.text="欢迎来到成业的博客";
  }
  }
  }
  并把它与影片剪辑chengye_txt进行关联,测试!将看到文本框中的文字变成了欢迎来到成业的博客,这里实现了在类中用public var psw:TextField;把动态文本框psw关联到了类的内部,并且还可以通过代码修改其值。如果将public var psw:TextField;注释掉将会出现下面的错误:
  ReferenceError: Error #1056: 无法为 chengye_txt 创建属性 psw。
  at flash.display::Sprite/flash.display:Sprite::constr uctChildren()
  at flash.display::Sprite$iinit()
  at flash.display::MovieClip$iinit()
  at chengye_txt$iinit()
  at flash.display::Sprite/flash.display:Sprite::constr uctChildren()
  at flash.display::Sprite$iinit()
  at flash.display::MovieClip$iinit()  
  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics