您好,欢迎来到数据时代——专业的互联网应用服务提供商!
当前位置:首页 >> 技术文章 >> Flash教程

Flash as入门—-AS常用语句2

时间:2010-3-5 来源:数据时代 作者: Funly

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("小了");

breake;

case 12:

trace("大了");

breake;

case 9:

trace("对了");

breake;

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

b=2;

switch(a+b){

case 5:

trace("小了");

breake;

case 12:

trace("大了");

breake;

case 8:

trace("还是小了");

breake;

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="";清空提示文本
}

作业:制作猜数游戏

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(条件表达式);


收缩
  • 电话咨询

  • 4000 111 025