|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
网页设计者使用Flash创作出既漂亮又可改变尺寸的导航界面以及其他奇特的效果。Flash的前身是FutureWave公司的FutureSplash,是世界上第一个商用的二维矢量动画软件。
AS2.0和JAVA.C#一样.也使用OOP形式.哪它必定就有承继.子类父类超类的分离.学过
JAVA,C#的人很快就可以了解.
这里说的类承继指一个class类可以承继另外一个class类的全体办法和属性.在说AS2.O的
类承继办法前.先说一下甚么是.private(公有性成员)和public(私有性成员)
AS2.0创建在class中的一切变量,办法,属性默许都是私有性的.我们固然也能够界说为公有
性的.好比一个变量.或办法.我其实不想在FLA文件顶用到.而只是在class类中作为一个函数或
公有办法为这个class文件所用.就要用到private界说为公有性
举例:
创建一个名为test_private.as的class类文件:
- classtest_private
- {
- privatevartmp1:String;//声明tmp为公有变量
- publicvartmp2:String;//不加public默许都为私有变量
- functiontest_private()
- {
- tmp1="公有变量";//赋值
- tmp2="私有变量";
- }
- }
复制代码
然后你在fla文件Layer1中挪用这个class
- varmyclass:test_private=newtest_private();
- trace("tmp1="+myclass.tmp1);
- trace("tmp2="+myclass.tmp2);
复制代码
将会呈现检测到一个公有成员不克不及被防问的毛病.指向在tmp1这个private变量上.
如今我们把fla里的代码改一下再运转:
- varmyclass=newtest_private();
- trace("tmp1="+myclass.tmp1);
- trace("tmp2="+myclass.tmp2);
复制代码
此次运转经由过程.明显区分就在于.界说class工具时假如界说援用class类的type类形,FLASH
将会检测到类中哪些为私有性和公有性的成员.我们也能够把办法.自界说函数界说成为类公有成员;如许做的优点.公有成员不会被前台挪用.也避免一些变量或函数办法的被歹意
挪用.
上面说的是类承继:
好比说.我创建的一个类的办法,属性,变量想被别一个class挪用.而我又不想在另外一个类中
反复写代码.就要用到承继.再好比说一个类在flash运转中.行到一个静态的变量.而我的另
一个类文件运转时想挪用这个静态的变量.就要给这两个类文件创建一个干系.
说复杂点:父类与子类干系.大概是爷爷类,父类.子类干系.他们都有一些不异的特征.而自
己自己也能够有本人的特征.不异的特征都可使用.
举例:
创建一个fla文件.一个名为txt的文本框.一个名为square的方块mc,两个按钮- //创建一个test1.as的类文件
- classtest1
- {
- privatevarhide_txt:String;
- privatevarshow_txt:String;
-
- privatefunctionhide_sq()
- {
- _root.square._visible=false;
- }
- privatefunctionshow_sq()
- {
- _root.square._visible=true;
- }
- }
复制代码
他有两个公有办法,和两个公有String变量,感化是显现和潜伏MCsquare;
创建一个test2.as的类文件,我们要用这个类文件承继test1.as的一切成员
- classtest2extendstest1
- {
- functiontest2()
- {
- hide_txt="埋没";//承继了test1的变量,我们能够给他赋值
- show_txt="显现";
- }
-
-
- }
复制代码
如今我们在fla中挪用test2.as的承继类来完成test1.as中的办法;
在一个button上的as中写进以下代码,用来埋没和显现信息- on(release){
- varmyclass=newtest2();
- myclass.hide_sq();//承继了test1.as中的办法
- txt.text=myclass.hide_txt;
- //这是在test2.as中赋值的test1.as中的变量,申明承继以后变动为本人的特征
- }
复制代码
在另外一个button上AS中写上以下:
- on(release){
- varmyclass=newtest2();
- myclass.show_sq();
- txt.text=myclass.show_txt;
- }
复制代码
我们还能够在test1.as中到场新的办法.既可作为自力的类一样也是一个承继类.
说完承继类.再来讲as文件嵌套.在flashmx中曾用到过#include"filename.as"
体例.假如用FlashRemoting就要援用#include"NetDebug.as"等文件.
实在.很象承继类.在一个as文件嵌套援用另外一个as文件中的办法.
可是flashmx2004中,as文件嵌套和承继类写法纷歧样.
举例:
创建test3.as文件以下:- varhide_txt:String;
- varshow_txt:String;
- functionhide_sq()
- {
- _root.square._visible=false;
- }
- functionshow_sq()
- {
- _root.square._visible=true;
- }
复制代码
创建test4.as文件以下:
[code]
classtest4
{
#include"test3.as"
//这里援用test3.as文件.注重没(;)号开头否则会呈现一个语法毛病
funct</p>
Flash广泛用于创建吸引人的应用程序,它们包含丰富的视频、声音、图形和动画。可以在Flash中创建原始内容或者从其它Adobe应用程序(如Photoshop或illustrator)导入它们,快速设计简单的动画。 |
|