小妖女 发表于 2015-1-15 22:24:39

来一发AS2.0的公有,私有成员,类承继和as嵌套

网页设计者使用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文件以下:

classtest4
{
#include"test3.as"
//这里援用test3.as文件.注重没(;)号开头否则会呈现一个语法毛病

funct</p>
Flash广泛用于创建吸引人的应用程序,它们包含丰富的视频、声音、图形和动画。可以在Flash中创建原始内容或者从其它Adobe应用程序(如Photoshop或illustrator)导入它们,快速设计简单的动画。

精灵巫婆 发表于 2015-1-17 17:52:30

一个物体从一个角(关键祯1)移动到另一个角(关键祯2)。然后tweening在关键祯之间填充祯,从而使物体可以在屏幕上优雅地运动。

飘灵儿 发表于 2015-1-25 12:10:13

单纯的做动画而言,flash动画与传统动画有很多差别,这里会为你介绍什么是flash与flash与传统动画相比具有的优点和缺点,而进一步了解flash动画

简单生活 发表于 2015-2-2 22:06:50

富媒体广告的概念:富媒体 Rich Media,是由英文翻译而来,从字面上很难理解Rich Media到底是什么。

不帅 发表于 2015-2-8 12:37:42

动画广告相对于传统广告而言,它的优势在于不受时间、地点等条件限制,可以通过动画的形式将那些复杂又抽象的广告内容更加简单化、生动形象化。

深爱那片海 发表于 2015-2-25 18:13:34

用户在观看广告的时候,无法通过正常点击鼠标来查看广告的尺寸、字节数、所链接的URL广告本身信息。

小女巫 发表于 2015-3-8 02:03:10

FLASH动画的视觉观赏效果好,容易给民众留下深刻的印象,是动画行业从业者和动画创意设计制作机构的主要业务之一。

灵魂腐蚀 发表于 2015-3-15 21:37:40

假设一个Web设计者需要让一页上的不同元素之间相互作用。如果其中的一些元素出现在Box内,而另一些在Box之外,那么设计者就很不幸。
页: [1]
查看完整版本: 来一发AS2.0的公有,私有成员,类承继和as嵌套