`
cloud21
  • 浏览: 389758 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

AS3,ReferenceError: Error #1056:

    博客分类:
  • Flex
阅读更多
AS3,ReferenceError: Error #1056: 无法为 ×× 创建
属性 ×××。
当把显示对象关联到脚本类,而此时又将这个显示对象中的显示对象在属性面板中设置了名称,会出现“ReferenceError: Error #1056: 无法为 ×× 创建属性 ×××。”的错误。网上都说在脚本类中定义一个相同名称和类型的共有属性即可,其实不需要这么麻烦,只需像下面这样做:

在Flash9中,“文件”菜单,“发布设置”,在ActionScript版本选择后面的“设置...”按钮,进入ActionScript3.0设置,将“舞台:自动声明舞台实例”的复选框勾选上,再导出就OK了。





ReferenceError: Error #1056的处理
FLASH 2009-12-02 15:15:09 阅读407 评论1 字号:大中小

在 Flash 9中, 你可以把一个舞台对象关联到一个脚本类 (Actionscript class) . 你可以把一个 MovieClip的扩展对象拖放在舞台上, 然后在属性面板(properties pane), 指定其属性.但是当你试图使用这个新功能的时候,却会得到类似于下面的错误报告:

ReferenceError: Error #1056: 

Cannot create property test1_btn on Test.

at flash.display::Sprite/flash.display:Sprite::constructChildren()

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::constructChildren()

at flash.display::Sprite$iinit()

at flash.display::MovieClip$iinit()

at chengye_txt$iinit()

at flash.display::Sprite/flash.display:Sprite::constructChildren()

at flash.display::Sprite$iinit()

at flash.display::MovieClip$iinit() 


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics