`
wangangie22
  • 浏览: 39663 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

舞台对象与脚本的关联--ReferenceError: Error #1056的处理

阅读更多

在 Flash 9中, 你可以把一个舞台对象关联到一个[1b]脚本类 (Action***** class)[/1b] . 你可以把一个 MovieClip的扩展对象拖放在舞台上, 然后在[1b]属性面板(properties pane),[/1b] 指定其属性.但是当你试图使用这个新功能的时候,却会得到类似于下面的错误报告:
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()
事实上,这是因为必须[1b]公开地(publicly)[/1b] 声明[1b]任何[/1b]在你的类中出现的对象 (Buttons, MovieClips, TextFields, etc.) 包括那些在舞台上已经被命名过的对象
比如,你在舞台上绘制了一个叫做“myMc”的对象,那么在对应的类中,就应该把它声明为一个[1b]公开变量 (public var)[/1b] :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进行关联,测试!将看到文本框中的文字变成了
[1b]欢迎来到成业的博客,[/1b]
这里实现了在类中用
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()
本文转自:http://www.5uflash.com/flashjiaocheng/Flash-as3-jiaocheng/1940.html
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics