欢迎来到天天文库
浏览记录
ID:59223453
大小:14.00 KB
页数:2页
时间:2020-09-09
《包不能嵌套错误以及类路径错误.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、包不能嵌套错误以及类路径错误-as3中package自定义class容易出现的问题详解Flash帮助文档中的新手案例太粗糙,很多新手直接把那段samples程序直接拷到代码框内(包括我),结果根本不能运行。在网上查了老半天,才琢磨明白。1、类不能直接写在帧动画的动作窗口上,要另写as文件,否则会报错。要package的东西也一样。这一点在“帮助”〉“ActionScript3.0编程”〉“ActionScript快速入门”>“使用ActionScript构建应用程序”〉“用于组织代码的选项”一节中说的很明白。把flash中所有的as代码分为了两种:第一种直接写在
2、时间线的帧上,或用存as文件由include指令引用。第二种是也是单独的as文件,用import指令导入。类涉及到的as脚本不能直接写在时间线的帧上,网上有说这是flash编译器的bug,错!因为时间线上的东西是默认导入了flash内置类的,再写类就会出现嵌套错误。(请注意flash帮助文档此节中那加粗了的注意后面的内容)2、对于网上下载的package好的类,或者自己写的类,如何引用。在import一大堆路径后,仍然出现1172错误,找不到定义的XXXX。看如下一段例子。//test.flaimportmyHello.Hello;varmyHello:Hell
3、o=newHello();trace(myHello.helloString)myHello.sayHello();//./myHello/Hello.aspackagemyHello{publicclassHello{publicvarhelloString:String='World';publicfunctionHello(){}publicfunctionsayHello():void{trace("Hello");}}}首先,包代表的是文档存储路径。在一段代码中,package后面的myHello代表在你存fla的文件夹下,有一个myHello的文件夹
4、。同样import指令后面的myHello也是一个意思。第二,每个包里面只有一个class。它是唯一的,它的命名也要与as文件的存储名称严格对应,包括大小写。例如例子中的publicclassHello与Hello.as。至于importmyHello.Hello中的Hello也是一样。如果你的myHello文件夹下存了多个自定义类,可以用importmyHello.*一次全部导入。第三,如果编译的时候仍然报错的话。问题很可能出在类路径上。“ActionScript3.0编程”〉“ActionScript语言及其语法”〉“包和命名空间”〉“包”这一节有如下解释:
5、类路径是用户定义的本地目录路径列表,它决定了编译器将在何处搜索导入的包和类。类路径有时称为"生成路径"或"源路径"。如何设置或修改类路径?在“文件”〉“发布设置”〉“flash选项卡”〉“ActionScript3设置”最下面有类路径列表,可同时设置多个类路径。没有任何设置的情况下,工程文件fla存储的路径就是默认的类路径。如果自定义的类多了,或者想把网上下载来的一大堆package整理到根目录下的同一文件夹下,就需要修改类路径,让你的编译器能找到你的package。暂时了解到这么多,应该不会因为找不到路径报错了吧。Flash中的帮助文档其实很全面,就是太乱了,
6、例子太粗糙,像我这样的新手容易摸不着头脑。
此文档下载收益归作者所有