仓酷云
标题:
来一发AS2.0的公有,私有成员,类承继和as嵌套
[打印本页]
作者:
小妖女
时间:
2015-1-15 22:24
标题:
来一发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文件以下:
[code]
classtest4
{
#include"test3.as"
//这里援用test3.as文件.注重没(;)号开头否则会呈现一个语法毛病
funct</p>
Flash广泛用于创建吸引人的应用程序,它们包含丰富的视频、声音、图形和动画。可以在Flash中创建原始内容或者从其它Adobe应用程序(如Photoshop或illustrator)导入它们,快速设计简单的动画。
作者:
精灵巫婆
时间:
2015-1-17 17:52
一个物体从一个角(关键祯1)移动到另一个角(关键祯2)。然后tweening在关键祯之间填充祯,从而使物体可以在屏幕上优雅地运动。
作者:
飘灵儿
时间:
2015-1-25 12:10
单纯的做动画而言,flash动画与传统动画有很多差别,这里会为你介绍什么是flash与flash与传统动画相比具有的优点和缺点,而进一步了解flash动画
作者:
简单生活
时间:
2015-2-2 22:06
富媒体广告的概念:富媒体 Rich Media,是由英文翻译而来,从字面上很难理解Rich Media到底是什么。
作者:
不帅
时间:
2015-2-8 12:37
动画广告相对于传统广告而言,它的优势在于不受时间、地点等条件限制,可以通过动画的形式将那些复杂又抽象的广告内容更加简单化、生动形象化。
作者:
深爱那片海
时间:
2015-2-25 18:13
用户在观看广告的时候,无法通过正常点击鼠标来查看广告的尺寸、字节数、所链接的URL广告本身信息。
作者:
小女巫
时间:
2015-3-8 02:03
FLASH动画的视觉观赏效果好,容易给民众留下深刻的印象,是动画行业从业者和动画创意设计制作机构的主要业务之一。
作者:
灵魂腐蚀
时间:
2015-3-15 21:37
假设一个Web设计者需要让一页上的不同元素之间相互作用。如果其中的一些元素出现在Box内,而另一些在Box之外,那么设计者就很不幸。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2