仓酷云

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

[学习教程] 给大家带来Flash as进门(3):AS基础语法-Flash actionscript

[复制链接]
小魔女 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-15 20:56:19 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

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

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

x
Flash又被称之为闪客,是由macromedia公司推出的交互式矢量图和Web动画的标准,由Adobe公司收购。
本例持续解说AS的基本常识,明天解说的是AS进家世三课:AS基础语法。
上一课:Flash老手进门教程:AS进家世二课_面向工具编程基本
在第一课中我们己经先容过,ActionScript是一部言语,即然是言语它就有它本人的语法
1、ActionScript语句是辨别巨细写的:在ActionScript中英语字母的巨细写具有分歧的意义的.我们来看一个例子:翻开工夫轴第一帧的举措面板,输出:

Name="Sanbos";

name="假博士";

trace(Name);
测试影片,输入窗口将呈现Sanbos,ActionScript辨别开了Name和name.如今将代码改成:

Name="Sanbos";

Name="假博士";

trace(name);
测试影片,输入窗口将呈现:undefined,没有输入内容
2、ActionScript语句以分号作为每句的停止标记,以下面的代码为例,把它写成一行:

Name="Sanbos";name="假博士";
trace(Name);
这时候ActionScript将这一行当作三句指令,每句两头用分号分隔.测试影片,输入窗口将呈现Sanbos.那末将三句指令两头的分号往失落,那末,输入窗口会呈现语法毛病的提醒.以是我们应当养成,每个语句停止时,输出一个分号的习气


3、关于点语法
在ActionScript中,应利用点(.)来会见工具的属性和办法.好比在舞台上有一个叫mymc_mc的影片剪辑元件,我们要会见它的属性和办法,就必要利用点,好比:
mymc_mc._x
在工具的称号前面输出一个".",然后输出其属性和办法的称号.

点的另外一个感化是相称于路径,就相称于文件体系如:c:/windows/…中的"/".好比我们一个动画,主工夫轴大概说舞台,在ActionScript2.O中被写为_root,舞台上有一影片剪辑元件my_mc,假如要写my_mc的_x属性,就应当如许写:

_root.my_mc._x
你大概会说,我常看到只写了my_mc._x,没有_root.这类情形在主工夫轴的帧举措上的,程序原本就在_root上,就能够省略.假如在舞台上加一个按钮用来设置舞台上mc的_x属性,用_root.工具的条理更分明一些。假如代码是写在mc外部,就要加上_root或_parent了。如在按钮上就要如许写:

on(release){

_root.my_mc._x=200;

}
又好比,做一个mc动画,在mc的第一帧写上stop();放在舞台上,然后在舞台上放一按钮来把持mc播放,那末在按钮上的程序就应当如许写:

on(release){

_root.my_mc.play();

}


四.正文
ActionScript中正文用来注释和申明语句的感化.而正文自己是不被实行的.正文有两种,一种是单行正文,一种是多行正文.单行正文是以//入手下手到本行未尾.如:
trace("单行正文");//这是单行正文丨
测试影片时从双斜杠入手下手今后的都不会实行.

另外一种正文体例是多行正文,它是以/*开首,以*/停止的.如:

/*这是多行正文

在这个正文局限内的语句

都不会被实行*/

trace("多行正文");
数据范例:盘算机实行程序时处置的数据,与我们数学中的数字是分歧的.数字只是数据的一种,在ActionScript中有良多种分歧范例的数据,上面先容一下几种次要的数据范例.

Number:数字数据范例

uint:正整数

int:整数

String:字符大概叫文本,String数据范例经常用引号括起来,如:

Mystring="abc"

Boolean:布尔值,它只要两个值:true、false,分离是真和假的意义.也就是"是"和"不是"的意义
Object:能够里解为工具


数据范例的转换:固然数占有分歧的范例,但各类范例之间是能够转换的.就象如今盛行的变性手术一样,做了一二十年的汉子,俄然想做女人了,做个变性手术就好了.在ActionScript中就复杂多了,上面来看看如何转换
将数据转换为数值范例:

数值范例有三种,用上面三个函数能够将真它数据范例转换为数值:

Number()

int()

uint()
关于不克不及被转换为数值的数据如英笔墨母,汉字等,int(),uint()则前往0,而Number()则前往NaN.

实习:在帧举措面板中输出:

a="123";

b="abc";

c=int(a);

d=int(b);

e=Number(b);

trace("c="+c+newline+"d="+d+newline+"e="+e);
测试影片,在输入窗口会呈现:

c=123

d=
0

e=NaN
来看看这几句代码:

a="123";这个"123"是用引号括起来的,那末它就是字符(String),它不是一个数值,而是由三个字符构成的字符串,它被读为:一二三.

b="abc"更不必说是字符串了.

c=int(a);将a从字符串转换为数值了,那末c就为123,被读为:一百二十三.

d=int(b);很明显abc是不克不及被转换为数值的,当不克不及被转换为数值时,int()前往0,以是d为0.

e=Number(b);当不克不及被转换为数值时,Number()前往NaN,以是e为NaN.

假如要将布尔值转换为数值,那末ture将被转换成1,false则被转换为0.
如:
a=ture;

b=false;

c=int(ture);//c为1

d=int(false);//d为0
别的int和uint范例都是整数,假如被转换的数据为小数点的,那末它们会只前往整数部分,如:
a="3.5";

b=int(a);//b为3

c=Number(a)//c为3.5
这时候我们当即就会想到能够用int(),uint()来取整,是的能够,不外必要注重的是它们是将小数点及前面的省略,而不是四舍五进


将数据转换为字符串:

用String()能够将数据转换为字符串.如:

a=5;

b=8;

c=String(b);//c为"8"

d=a+c;

trace(d);
测试影片输入为58(读作:五八),这是由于c是字符,不克不及举行数学盘算,只能是两个字符毗连.假如将d=a+c;改成:d=a+b;测试时就输入13.
将数据转换为布尔值:

只先容一种情形,将数值转换为布尔值.假如数值为0,则被转换为false,不然转换为true.仅管有Boolean()函数来转换,但我们应当不会用它,但这其实不意味着我们不会用到这类转换,来看个例子:

My_mc._visible=0;
这句让元件不成见的代码,我们常常用到,mc的_visible属性是是不是可见的意义.设置这个属性只能用布尔值,即true(是)和false(不是).但上一句我们确用的0,那末在实行这句代码时,ActionScript会将0转换为false,然再实行.以是上句代码实践实行的是:

my_mc._visiblc=false;
这里能够看出,假如我们间接写成:my_mc._visiblc=false;
盘算机实行速率要快些,由于它不必要转换,固然你说,我写0要快些,那就随你乐意罗.

数据被寄存在盘算机内存当中,内存被分红良多个斗室间,每一个房间里寄存一个或多个数据,为了便于利用这些数据,我们给这些房间取上一个名字,这就是我们要先容的另外一个主要观点:
变量:变量用来寄存数据,它是一小块内存的代号,如上所说,它就是内存中寄存数据的斗室间的称号,要创立一个变量,它的语法是:

var变量称号:数据范例
好比:
vara:Number
这就声了然一个变量a,它的数据范例是数值.运转上面的代码:

vara:Number;

a=10;

trace(a);
输入面板将显现10.

vara:Number;

a=b;

trace(a);
输入面板将显现:undefined,这是不晓得的范例.由于声明的变量a是数值范例,而给它赋值倒是b,b不是数值,以是输入了局就只好说:不晓得你在说甚么?

下面a=10中的"="号是赋值,行将10放到变量a中.在声明变量的同时就能够给它赋值,如:

vara:Number=10;
你大概要说,后面你怎样就写的:

a=10;
是的,在ActionScript2.0中我们还能够间接写:a=10,它实践上就是:vara=10,但这是最初的晚饭了,在ActionScript3.0中就必需写var了.
下面先容过,变量就象是内存中的一个房间,内里寄存着数据.谁人这个房间就是一人一间制.好比本来a房间中住着10,如今将15放出来,15出来后,一脚就将10踢进来了.运转上面代码看看:

vara:Number;

a=10;

a=15;

trace(a);
了局显现为:15

本地或全局转换应用于任何对象。但非真正意义上的3D,层的位置关系其显示问题。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-1 07:13

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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