仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 795|回复: 7
打印 上一主题 下一主题

[学习教程] 来一发AS2.0的公有,私有成员,类承继和as嵌套

[复制链接]
小妖女 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-15 22:24:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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类文件:
  1. classtest_private
  2. {
  3. privatevartmp1:String;//声明tmp为公有变量
  4. publicvartmp2:String;//不加public默许都为私有变量
  5. functiontest_private()
  6. {
  7. tmp1="公有变量";//赋值
  8. tmp2="私有变量";
  9. }
  10. }
复制代码

然后你在fla文件Layer1中挪用这个class
  1. varmyclass:test_private=newtest_private();
  2. trace("tmp1="+myclass.tmp1);
  3. trace("tmp2="+myclass.tmp2);
复制代码

将会呈现检测到一个公有成员不克不及被防问的毛病.指向在tmp1这个private变量上.

如今我们把fla里的代码改一下再运转:
  1. varmyclass=newtest_private();
  2. trace("tmp1="+myclass.tmp1);
  3. trace("tmp2="+myclass.tmp2);
复制代码

此次运转经由过程.明显区分就在于.界说class工具时假如界说援用class类的type类形,FLASH
将会检测到类中哪些为私有性和公有性的成员.我们也能够把办法.自界说函数界说成为类公有成员;如许做的优点.公有成员不会被前台挪用.也避免一些变量或函数办法的被歹意
挪用.


上面说的是类承继:

好比说.我创建的一个类的办法,属性,变量想被别一个class挪用.而我又不想在另外一个类中
反复写代码.就要用到承继.再好比说一个类在flash运转中.行到一个静态的变量.而我的另
一个类文件运转时想挪用这个静态的变量.就要给这两个类文件创建一个干系.
说复杂点:父类与子类干系.大概是爷爷类,父类.子类干系.他们都有一些不异的特征.而自
己自己也能够有本人的特征.不异的特征都可使用.

举例:
创建一个fla文件.一个名为txt的文本框.一个名为square的方块mc,两个按钮
  1. //创建一个test1.as的类文件
  2. classtest1
  3. {
  4. privatevarhide_txt:String;
  5. privatevarshow_txt:String;
  6.        
  7. privatefunctionhide_sq()
  8. {
  9. _root.square._visible=false;
  10. }
  11.         privatefunctionshow_sq()
  12.         {
  13. _root.square._visible=true;
  14.         }
  15. }
复制代码

他有两个公有办法,和两个公有String变量,感化是显现和潜伏MCsquare;
创建一个test2.as的类文件,我们要用这个类文件承继test1.as的一切成员
  1. classtest2extendstest1
  2. {
  3. functiontest2()
  4. {
  5. hide_txt="埋没";//承继了test1的变量,我们能够给他赋值
  6. show_txt="显现";
  7. }
  8.        
  9.        
  10. }
复制代码

如今我们在fla中挪用test2.as的承继类来完成test1.as中的办法;


在一个button上的as中写进以下代码,用来埋没和显现信息
  1. on(release){
  2.         varmyclass=newtest2();
  3.         myclass.hide_sq();//承继了test1.as中的办法
  4.         txt.text=myclass.hide_txt;
  5. //这是在test2.as中赋值的test1.as中的变量,申明承继以后变动为本人的特征
  6. }
复制代码

在另外一个button上AS中写上以下:
  1. on(release){
  2.         varmyclass=newtest2();
  3.         myclass.show_sq();
  4.         txt.text=myclass.show_txt;
  5. }
复制代码


我们还能够在test1.as中到场新的办法.既可作为自力的类一样也是一个承继类.

说完承继类.再来讲as文件嵌套.在flashmx中曾用到过#include"filename.as"
体例.假如用FlashRemoting就要援用#include"NetDebug.as"等文件.
实在.很象承继类.在一个as文件嵌套援用另外一个as文件中的办法.
可是flashmx2004中,as文件嵌套和承继类写法纷歧样.
举例:

创建test3.as文件以下:
  1. varhide_txt:String;
  2. varshow_txt:String;
  3. functionhide_sq()
  4. {
  5. _root.square._visible=false;
  6. }
  7. functionshow_sq()
  8.         {
  9. _root.square._visible=true;
  10.         }
复制代码

创建test4.as文件以下:
[code]
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到底是什么。
不帅 该用户已被删除
5#
发表于 2015-2-8 12:37:42 | 只看该作者
动画广告相对于传统广告而言,它的优势在于不受时间、地点等条件限制,可以通过动画的形式将那些复杂又抽象的广告内容更加简单化、生动形象化。
深爱那片海 该用户已被删除
6#
发表于 2015-2-25 18:13:34 | 只看该作者
用户在观看广告的时候,无法通过正常点击鼠标来查看广告的尺寸、字节数、所链接的URL广告本身信息。
小女巫 该用户已被删除
7#
发表于 2015-3-8 02:03:10 | 只看该作者
FLASH动画的视觉观赏效果好,容易给民众留下深刻的印象,是动画行业从业者和动画创意设计制作机构的主要业务之一。
灵魂腐蚀 该用户已被删除
8#
发表于 2015-3-15 21:37:40 | 只看该作者
假设一个Web设计者需要让一页上的不同元素之间相互作用。如果其中的一些元素出现在Box内,而另一些在Box之外,那么设计者就很不幸。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-29 23:45

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表