您好!欢迎你光临AS常用语句欢迎你转载_欧果国际lovelove官方总代私户凝胶代理!

体育

I

交友

I

论坛

I

会员注册

I

本站搜索

I

收藏本站

当前位置:首页 >>>FLASH教程>>>AS常用语句欢迎你转载
AS常用语句欢迎你转载
发表日期:2011/3/2 2:35:00 出处:网络 作者:未知 发布人:yaorao 已被访问 1176

AS常用语句

 

第1节:运算符

AS常用语句
一.运算符

1. = 赋值运算符,它不是数学中的等于,而是将=号右边的值赋给左边的变量.


2. 使用于字符串的运算符:


比较:== 等于. 用于比较两个字符串是否相等,如果相等则返回"true",否则返回false.


如:
a="abc";


b="abc";


c="bcd";


d=(a==b);//d为true


f=(a==c);//f为false


〉大于 .


〉= 大于等于


〈 小于


〈= 小于等于


字符串的大小比较由小到大的顺序是:A一Z一a一z.

+:连接运算:

如:a="abc";


b="def";


c=a+b;//c为:"abcdef"


trace(c);

可以把上述代码复制到帧动作面板中,测试影片,试试.

又如:
a="123";

b=456;


c=a+b;//c为:"123456"


trace(c);


而:a=123;


b=456;


c=a+b;//c为:579


trace(c);

上面两个代码出现了不同的结果,这是因为第一段代码a被赋的值是被引号括起来的,那么它就是字符串,在字符串中+号是连接符号,不是数学中的加号.第二段代码,a、b被赋的值都没引号,AS就将它看着数字,在数字类型中+号就是数学中的加号.
+= 这也是连接符号,这是将+=符号左边的字符串与右边的字符串连接,如:

a="abc";


b="def";


a+=b;//这时a为abcdef

3.对数字使用运算符:

+、-、*、/:这就是数学中的加减乘除.


%:求模运算符,即求余数,如:


a=7;


b=2;


c=a%b;//c为a除以b的余数1


+=、-=:分别是符号左边的数字加上或减去右边的数字,并将结果赋值给左边的变量.如:


a=7;


b=2;


a+=b;//这时a为9


a-=b;//这时a为7


*=、/=:同理

++、--:递增递减运算符,即+或减1.如:

a=7;


a++;//这时a为8


a--;//这时a为7

比效:==:等于

!=:不等于


〉:大于


〉=:大于等于


〈:小于


<=:小于等于

学习这课的心得,做法看下面提供源文件吧.(累阿,,,- -!)
      

第2节:条件语句

二.条件语句
                     

if 语句:如果怎么样,就做些什么事.可以把if理解为如果.


格式:
if(条件表达式){


要执行的语句


}


例:
a=7;


b=2;


if (a==b){



trace("是的");


}

这个条件语句的意思是,如果a等于b,那么就输出"是的".将上面代码写到帧动作面板中,测试影片,发现并没有输出面板弹出.因为上面的语句是a等于b时才执行trace("是的");,事实上现在a不等于b而是大于b,那么trace("是的");就不会执行.把代码改一下:

a=7;


b=2;


if (a>b){


trace("是的");


}

测试影片,那就会看到输出窗口中的"是的".

if…else语句:这句是如果怎样就执行if后面的语句,如果不是这样就执行else后面的语句.


格式:
if(条件表达式){


要执行的语句


} else {


要执行的语句


}


例:
a=7;


b=2;


if(a<=b){


trace("a比b小或一样大");


} else {


trace("a比b大");


}

看看这个代码,如果a小于等于b那么就输出:"a比b小或一样大".否则,就输出:"a比b大".测试影片,我们可以看到:"a比b大".
if…else if:这个语句可以测试多个条件.这样理解这个语句,如果怎样就干点什么,又如果怎样,又干点什么,再如果怎样….
还是这个例子:

a =7;


b=2;


if(a<b){


trace("a比b小");


}
else if("a==b"){



trace("a和b一样大");


} else if(a>b){


trace("a比b大");


}

这段代码意思是:如果a小于b那么输出:"a比b小";如果a等于b那么输出:"a和b一样大";如果a大于b那么输出:"a比b大".测试影片,输出是:"a比b大".
switch语句:上面提到有要检测多个条件的情况,可以用多个else if,用switch语句也可以实现这个目的.

格式:
switch(表达式){


case 表达式的值:



要执行的语句


break;


case 表达式的值:


要执行的语句


break;




default:


要执行的语句


}

上面括号中的表达式也可以是一个变量,下面的大括号中可以有多个 case 表达式的值:,程序执行时会从第一个case开始检查,如果第一个case后的值是括号中表达式的值,那么就执行它后面的语句,如果不是括号中表达式的值,那么,程序就跳到第二个case检查,以此类推,直到找到与括号中表达式的值相等的case语句为止,并执行该case后面的语句.你可能会注意到每一句case后面都有一句breake;这是跳出switch语句的意思,即当找到相符的case,并执行相应的语句后,程序跳出switch语句,不再往下检测.以免发生落空的错误.可能会有这样的情况,所有的case语句后的值都与表达式的值不相符,那么就应该用default:
语句,这时程序就会执行default:
后的语句.如果你确定不会出现这种情况,那么可以不要default:
语句.

例1:
a=7;


b=2;


c=a+b;


switch(c){


case 5:


trace("小了");


break;


case 12:


trace("大了");


break;


case 9:


trace("对了");


break;


}

测试影片,输出句"对了".
例2.
a=7;


b=2;


switch(a+b){


case 5:


trace("小了");


break;


case 12:


trace("大了");


break;


case 8:


trace("还是小了");


break;


default:

trace("都没算对");


}

测试影片输出为:"都没算对".
逻辑运算符:逻辑运算符在运算符那一节没有介绍,是因为它多半用在条件语句中,所以我们在这一节介绍.在上面的条件表达式中,都是单一的条件,比如是否大于是否小于等,实际上我们经常都可能用到复合条件,比如大小多少并且小于多少,大于多少或者小于多少等.在这样的复合条件语句中,有两个词:并且、或者,它们的符号:
&&
并且


丨丨
或者

并且是指两个条件都成立时为真,或者是指只要有一个条件成立时为真.

例1:
a=7;


if((a>5)&&(a<10)){


trace("正确");


}

测试影片,将输出"正确".因为a=7的确即大于5又小于10,条件为真.

例2:
a=7;


if((a〉5)&&(a〉10)){


trace("正确");


}

测试影片,没有输出.说明 trace("正确");这句没执行.因为a〉5成立,而a〉10不成立,两个条件只有一个为真,整个条件则为假.

例3.
a=7;


if((a〉5)||(a〉10)){


trace("正确");


}

这个例子用的是"||"或者语句,只要有一个条件为真,整个条件表达式为真,测试影片,将输出"正确".
练习:猜数游戏
下面我们来做一个练习,猜数游戏,将上一节运算符及本节条件语句进行综合应用.游戏是由程序产生一个0-100的随机数,然后由用户来猜,程序根据用户猜的数与所产生的随机数进行比较,根据比较结果,给用户提示,直到用户猜中为止,并记录用户所猜次数.

为完成这个练习,我们先介绍一个函数:random(),这个函数将产生一个由0到括号中的数减1的整数.如: a=random(50),那么a的值为0到49之间的一个整数.
现在来做这个练习:新建一flash文件,用文本工具在舞台的上半部居中画一个文本框,在里面输入:”请猜一个0-100之间的数字:”;打开属性面板,设置文本框为静态文本,设置好文本字体的大小和颜色.
在这个文本框的下边,再画一个文本框,打开属性面板,设置文本框为动态文本,在变量框中输入c,这样变量c就代表这个文本框的内容,我们就可以用c来读取和设置这个动态文本框的内容.动态文框是在运行时可以给文本设置值的文本框.关于文本框的的知识,在后面将有专门的课程介绍,这里了解这么多就行了.
在动态文本框的下面,再画一个文本框,打开属性面板,设置文本框为输入文本.将在文本框周围显示边框按钮点下.在变量框中输入s.输入文本框是在运行时,用户可以在其中输入内容人.
下面新建两个按钮,一个标签为”确定”,一个标签为”重猜”.按钮的做法请参阅第二课.将两个按钮放到舞台上,最下面.打开属性面板,”确定”按钮命名为”qd_btn”,”重猜”按钮”命名为”cc_btn”.
新建一层,命名为”action”用来写代码.点中第一帧,点右键,打开动作面板,开始写代码:
首先声明一个变量,用来存放0-100间的随机数,所以第一行代码为:

var a = random(101);

然后声明一个变量,用来存放猜的次数,现在还没猜,所以给它赋值为0,第二行代码为:

var cs:Number = 0;

下面使用条件语句,来比较用户输入的数的产生的随机数:

qd_btn.onRelease = function(){ //
当点击确定按钮时,执行下面的语句.
    cs++; //猜的次数增加1
if (s>a){ //如果猜的数大于随机数.

c = "
大了点"; //动态文本框提示”大了点”.

} else if (s==a){ //
如果猜对了,根据猜的次数给出相应结果.

if(cs<=5){ //
如果猜的次数在5次以内

c = "
哇,你只猜了" + cs + "次就猜对了,真历害!"; //给出表扬,注意这里用到了,字符串的连接.

} else { //
如果不只猜5次.

c="
猜对了!你猜了"+cs+"次"; //提示猜对了,并给出猜的次数.

}


} else if (s<a) { //
如果猜的数字小于随机数

c="
小了点";//提示”小了点”
}
}
最后,来写重猜的代码:

cc_btn.onRelease = function () { //
当点击重猜按钮时执行以下语句

a = random(101);//
重新产生随机数

cs = 0;//
将猜的次数设为0

s="";
清空输入文本框

c="";
清空提示文本
}
作业:制作猜数游戏

四课的练习及相关讨论请在这里跟帖,我先交作业:
      
第3节:循环语句

三.循环语句
for循环:格式:


for(初值;条件表达式;增值){


要执行的语句


}

这个语句,首先给一个变量设定一个初始值,然后将这个初始值带入条件表达式,如果条件表达式为真,则执行大括号中的语句,并且按括号中增值表达式对变量的值进行增减;然后再次带入条件表达式,如果为真则再次执行大括号中的语句.…,这样直到条件表达式为假为止.

例:var a=0;


for(var i=0;i〈10;i++){


a += i;


}


trace(a);

我们来看看最后输出的a是多少.程序开始时,a等于0,然后进入for循环,循环开始i等于0,条件表达式i<10成立,那么执行a+=i,此时a、i均为0,那么a为0,然后执行增值i++,则i为1,再检测条件表达式i〈10仍成立,执行a+=i,则a为1;执行i++,i为2……,这样反复循环,直到i为10时,条件表达式i〈10不成立,停止循环.明显可以看出循环进行了10次,这时a是多少呢?测试影片时输出为45.
for…in循环:这是遍历或者叫循环访问一个组对象中的成员.比如影片剪辑的子级、对象的属性、数组等.由于数组等在前面还没有介绍,因此我们将for…in循环放到下一课介绍数组时再祥细介绍.
while循环:有点类似if语句,只要条件成立就执行相应语句.


格式:
while(条件表达式){


要执行的语句


计数语句


}

当条件表达式为真时,执行大括号中的语句,执行计数语句,然后用计数语句的结果再次检测条件表达式,如此反复循环.直到条件表达式为假为止.这里需要注意的是,如果没有计数语句,或者计数语句的结果永远不能使条件表达式为假,那么循环将水远无休止地反复,这就形成了一个死循环,我们在编程的过程中一定要避免这种情况.

例1:下面的代码是一个死循环,请不要测试.

var a=0;


while(a<10){


trace(a);


}

看看这段代码,程序执行时a等于0,然后进入循环,条件表达式a〈10成立,执行trace(a),输出0,然后再检查条件表达式,因为没有计数语句,a没发生变化,条件表达式仍成立,于是又输出一个0,然后又反复,一直不停地输出0,无休无止,直到天荒地老.
例2:下面的代码是一个死循环,请不要测试.
var a=0;


while(a<10){



trace(a);


a--;


}

这一例加上了计数语句a--,但a的初始值为0,每一个循环它减1,这样条件表达式a<10也是永远为真,因此循环也是永不停息,直到地老天荒.
例3:
var a=0;


while(a<10){


trace(a);


a++;


}

这一例将计数语句改为a++,这样每一循环,a加1,当10个循环后,a为10,条件表达式a<10为假,循环停止.测试本例我们会在输出面板中看到:
0
1
2

9
do…while循环:这个循环实际和while循环是一样的,只是它先执行一次语句,然后再检测条件语句,而while循环是先检测条件语句再执行大括号内的语句.

do…while循环的格式为:


do{


要执行的语句


计数语句


}while(条件表达式);


      

第5课:数组

 数组

在前面介绍变量时,我们说将内存分成无数个房间,用来存放数据.每个房间中只能住一个数据,比如房间中原来住着5,后来8又住进这个房间,于是一脚将5踢了出去.现在可能有这种情况,就是8住进来后,不把5踢出去,两个合租.事实上这也是允许的,这种情况就被称为数组.在房间中的各个成员被称为元素,这一些元素的数据类型不一定是相同的.也就是说在现在开放的年代,男女合租是允许的.比如在房间中又住进去a,它是字符与前面的5、8数字的数据类型就不相同.房间中每个元素都有一个编号,我们在引用这些元素时,只需用编号就行.就如在监狱中的囚犯一样,你叫道:3365出来.于是号数为3365的囚犯出来了.咋一不小心就将数组中的元素整进监狱了呢?需要注意的是,数组中的元素编号是从0开始的.比如上面我们建的数组,5是0号、8是1号、a是2号.


创建数组:可以用下列格式创建数组

格式一:
var
数组名:Array=new Array(元素1,元素2,……)

格式二:
var
数组名:Array=new Array();


数组名[0]=值;


数组名[1]=值;



例:我们上面建的数组,这样写

var myarray:Array=new Array(5,8,a);

或:
var myarray:Array=new Array();


myarray[0]=5;


myarray[1]=8;


myarray[2]="a";


数组元素的引用 创建数组后,就可以引用其元素了,格式为:


数组名称[元素编号];

比如要引用上述数组第一个元素的值就可以这样写:
myarray[0]

可以测试一下下面这段代码:

var myarray:Array=new Array(5,8,a);


var b=myarray[0];


trace(b);

输出应该是5.
数组是对象,即是对象,那么就有它自已的属性和方法,下面我们就来认识一下:

数组的属性:只介绍一个属性, length:这是指组数的元素的数量.如上面的数组,myarray一共有三个元素5,8,a,那么这个数组的length属性为3.
   例1: var myarray:Array=new Array(5,8,a);

b = myarray.length;


trace(b);


输出结果为3.

For....in循环:在上一课介绍循环语句时,说过for....in循环留到这一课来介绍.这个循环是遍历一个集合的所有对象的循环,比如遍历数组元素.就是说一个一个地方问每一个元素.数组中有几个元素它就循环几次.

例2:

  1. var myarray:Array=new Array(5,8,"a");
  2. for (var i in myarray){
  3. b = myarray
  4. trace(b);
  5. }
复制代码

输出结果为:a

8


5

例3:用for循环和length属性也可以实现遍历数组:

  1. var myarray:Array=new Array(5,8,"a")
  2. for(var i=0;i<myarray.length;i++){
  3. b = myarray;
  4. trace(b);
  5. }
复制代码


输出结果为:5,8,a
可以看出,这两个循环都是将数组中的循环方问了一遍,只是结果的顺序不同.例2中应用了数组的length属性,这个属性最常用的就是用在for循环中,在以后的课程中会经常用到.

数组的方法:

concat( ):
将参数中指定的元素与数组中的元素连接,并创建新的数组。如果 value 参数指定的是数组,则连接该数组的元素而不是数组本身。
  例4:

  1. var myarray:Array=new Array(5,8,"a")
  2. myarray1 = myarray.concat("b");

  3. for(var i in myarray1){

  4. c = myarray1[i];

  5. trace(c);


  6. }
复制代码


输出为:b

a

8


5

myarray1 = myarray.concat("b");将b连接到myarray数组中并创建新数组myarray1.
  例5:

  1. var myarray:Array=new Array(5,8,"a")

  2. myarray1 = myarray.concat("b");

  3. myarray2 = myarray.concat(myarray1);

  4. for(var i in myarray2){

  5. c = myarray2[i];

  6. trace(c[i]);


  7. }
复制代码


这时myarray2应该是:myarray2[5,8,a,5,8,a,b],这是用concat()方法将两个数组连接起来了.

join( ): 将数组中的元素转换为字符串、在元素间插入括号中指定的分隔符、连接这些元素然后返回结果字符串。如果括号中没有指定分隔符,那么分隔符将用逗号.
例6: var myarray:Array=new Array(5,8,"a");

c = myarray.join(“-“);

trace(c);
输出为:5-8-a
例7:在括号中不设分隔符则将用逗号作分隔符

var myarray:Array=new Array(5,8,"a");

c = myarray.join( );

trace(c);
输出为:5,8,a

pop():删除数组中最后一个元素,并返回该元素的值。
例7: var myarray:Array=new Array(5,8,"a");

var c = myarray.pop();

trace(“被删的是:” + c);

trace(“被删后的数组:” + myarray);
输出结果是: 被删的是:a
被删后的数组:5,8

push():将一个或多个元素添加到数组的结尾,并返回该数组的新长度。
例8: var myarray:Array=new Array(5,8,"a");

var c = myarray.push(“b”,”c”);

trace(“添加元素后数组的长度是:”+c);

trace(“添加元素后的数组:”+myarray);
输出结果是:
添加元素后数组的长度是:5
添加元素后的数组:5,8,a,b,c

reverse():就地倒转数组。

例9: var myarray:Array=new Array(5,8,"a");

trace(原数组是:+myarray);

myarray.reverse();

trace(被倒转后的数组是:+myarray);
输出结果是: 原数组是:5,8,a
被倒转后的数组是:a,8,5

shift():删除数组中第一个元素,并返回该元素。
      参见pop()方法.
slicestartIndex, endIndex):
返回由原始数组中某一范围的元素构成的新数组,而不修改原始数组。返回的数组包括 startIndex
元素以及从其开始到 endIndex
元素(但不包括该元素)的所有元素。
例10:
var myarray:Array=new Array(1,2,3,4,5);

var myarray1:Array = myarray.slice(0,3);

trace(myarray1);
输出结果是:1,2,3sort():
对数组中的元素进行排序。Flash 根据 Unicode 值排序。(ASCII 是 Unicode 的一个子集。)
默认情况下,Array. sort()
按下面的列表中的说明进行排序:

  • 排序区分大小写(Z
    优先于 a)。
  • 按升序排序(a
    优先于 b)。
  • 修改该数组以反映排序顺序;在排序后的数组中不按任何特定顺序连续放置具有相同排序字段的多个元素。
  • 数值字段按字符串方式进行排序,因此 100 优先于 99,因为 "1" 的字符串值比 "9" 的低。

例11: var myarray:Array=new Array(3,4,1,2,5);
myarray.sort();

trace(myarray);
输出为:1,2,3,4,5 对数组进行了重新排序.
splice(startIndex, [deleteCount], [value]):

给数组添加元素以及从数组中删除元素。此方法会修改数组但不制作副本。

参数startIndex:― 一个整数,它指定插入或删除动作开始处的数组中元素的索引。您可以指定一个负整数来指定相对于数组结尾的位置(例如,-1 是数组的最后一个元素)。
deleteCount
: [可选] ― 一个整数,它指定要删除的元素数量。该数量包括 startIndex
参数中指定的元素。如果没有为 deleteCount
参数指定值,则该方法将删除从 startIndex
元素到数组中最后一个元素之间的所有值。如果该参数的值为 0,则不删除任何元素。

value
: [可选] ― 指定要在 startIndex
参数中指定的插入点处插入到数组中的值。


例12:var myarray:Array=new Array(1,2,3,4,5);

myarray.splice(1);


trace(myarray);

输出结果为:1.本例在splice()方法中只用了一个参数1,这是指在插入或删除的位置,数组编号从0开始,那么1的位置是第2个元素.第二参数未设置则将删除从第2个元素开始的所有元素.第三个参数未设置则不插入新元素.所以执行后数组中就只剩下第0号元素了.
     13: var myarray:Array=new Array(1,2,3,4,5);

myarray.splice(1,2);


trace(myarray);

输出结果是:1,4,5
本例用了两个参数,2个参数是2,就是说将删除2个元素.

    14: var myarray:Array=new Array(1,2,3,4,5);

myarray.splice(5,0,6);


trace(myarray);

输出结果是:1,2,3,4,5,6
本例用了三个参数,第一个参数为5,则是在数组的第6个位置上执行操作,第二个参数是是0,是不删除任何元素.第三个参数是6,是插入一个新元素6.


unshift():将一个或多个元素添加到数组的开头,并返回该数组的新长度
        参见push()方法.

 

 

双击自动滚屏 【打印本页】 【关闭窗口

上篇文章:flash遮罩素材(三)

下篇文章:毛泽东颂歌十集150首大联唱

 相关评论:



tik258
(2010/5/19 20:04:00) [115.210.9.]

看把你累的

 发表评论:共有 1 条评论

身份选择:会员 游客(游客不需要输入密码)
用 户 名: 密 码:
评论内容:
(最多评论字数:500)

欧果国际lovelove官方总代私户凝胶代理 | 设为首页 | 加入收藏 | 联系我们 | 进入管理 | 关于站长 | 本站搜索

联系电话:13601372440 备案号琼ICP备09005167号-1 联系人:微信13601372440