flash播放器:Flash as入门(4):AS常用语句

  AS常用语句

  .运算符

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

  2. 使用于运算符:

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

  如:

a="abc";
b="abc";
c="bcd";
d=(ab);//d为true
f=(ac);//f为false
〉大于 .
〉= 大于等于
〈 小于
〈= 小于等于


  大小比较由小到大顺序是:AZaz.

  +:连接运算:

  如:

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被赋值是被引号括起来,那么它就是串,在串中+号是连接符号,不是数学中加号.第 2段代码,a、b被赋值都没引号,AS就将它看着数字,在数字类型中+号就是数学中加号.

   这也是连接符号,这是将符号左边串和右边串连接,如:

a="abc";
b="def";
ab;//这时a为abcdef


  3.对数字使用运算符:

+、-、*、/:这就是数学中加减乘除.
%:求模运算符,即求余数,如:
a=7;
b=2;
c=a%b;//c为a除以b余数1


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

a=7;
b=2;
ab;//这时a为9
a-=b;//这时a为7
*=、/=:同理
、--:递增递减运算符,即+或减1.如:
a=7;
a;//这时a为8
a--;//这时a为7
比效::等于
!=:不等于
〉:大于
〉=:大于等于
〈:小于
<=:小于等于


   2、条件语句

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

  格式:

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

a=7;
b=2;
(a〉b){
trace("是");
}
测试影片,那就会看到输出窗口中"是".

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

  格式:

(条件表达式){
要执行语句
} {
要执行语句
}


  例:

a=7;
b=2;
(a〈=b){
trace("a比b小或样大");
} {
trace("a比b大");
}
看看这个代码,如果a小于等于b那么就输出:"a比b小或样大".否则,就输出:"a比b大".测试影片,我们可以看到:"a比b大".

   :这个语句可以测试多个条件.这样理解这个语句,如果怎样就干点什么,又如果怎样,又干点什么,再如果怎样….

  还是这个例子:

a =7;
b=2;
(a
trace("a比b小");
}
("ab"){
trace("a和b样大");
} (a〉b){
trace("a比b大");
}


  这段代码意思是:如果a小于b那么输出:"a比b小";如果a等于b那么输出:"a和b样大";如果a大于b那么输出:"a比b大".测试影片,输出是:"a比b大".

  switch语句:上面提到有要检测多个条件情况,可以用多个 ,用switch语句也可以实现这个目.

  格式:

switch(表达式){
表达式值:
要执行语句
;
表达式值:
要执行语句
;

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

  语句,这时就会执行default:

  后语句.如果你确定不会出现这种情况,那么可以不要default:

  语句.

  例1:

a=7;
b=2;
c=a+b;
switch(c){
5:
trace("小了");
e;
12:
trace("大了");
e;
9:
trace("对了");
e;
}


  测试影片,输出句"对了".

  例2.

a=7;
b=2;
switch(a+b){
5:
trace("小了");
e;
12:
trace("大了");
e;
8:
trace("还是小了");
e;
default:
trace("都没算对");
}


  测试影片输出为:"都没算对".

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

  &&

  并且

  丨丨

  或者

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

  例1:

a=7;
((a〉5)&&(a<10)){
trace("正确");
}
测试影片,将输出"正确".a=7确即大于5又小于10,条件为真.

  例2:

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

  例3.

a=7;
((a〉5)||(a〉10)){
trace("正确");
}
这个例子用是"||"或者语句,只要有个条件为真,整个条件表达式为真,测试影片,将输出"正确".

  练习:猜数游戏

  下面我们来做个练习,猜数游戏,将上节运算符及本节条件语句进行综合应用.游戏是由产生个0-100随机数,然后由用户来猜,根据用户猜数和所产生随机数进行比较,根据比较结果,给用户提示,直到用户猜中为止,并记录用户所猜次数.

  为完成这个练习,我们先介绍:random,这个将产生个由0到括号中数减1整数.如: a=random(50),那么a值为0到49的间个整数.

  现在来做这个练习:新建flash文件,用文本工具在舞台上半部居中画个文本框,在里面输入:”请猜个0-100的间数字:”;打开属性面板,设置文本框为静态文本,设置好文本字体大小和颜色.

  在这个文本框下边,再画个文本框,打开属性面板,设置文本框为动态文本,在变量框中输入c,这样变量c就代表这个文本框内容,我们就可以用c来读取和设置这个动态文本框内容.动态文框是在运行时可以给文本设置值文本框.有关文本框知识,在后面将有专门课程介绍,这里了解这么多就行了.

  在动态文本框下面,再画个文本框,打开属性面板,设置文本框为输入文本.将在文本框周围显示边框按钮点下.在变量框中输入s.输入文本框是在运行时,用户可以在其中输入内容人.

  下面新建两个按钮,个标签为”确定”,个标签为”重猜”.按钮做法请参阅第 2课.将两个按钮放到舞台上,最下面.打开属性面板,”确定”按钮命名为”qd_btn”,”重猜”按钮”命名为”cc_btn”.

  新建层,命名为”action”用来写代码.点中第帧,点右键,打开动作面板,开始写代码:

  首先声明个变量,用来存放0-100间随机数,所以第行代码为:

  var a = random(101);

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

  var cs:Number = 0;

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

qd_btn.onRelease = function{ //当点击确定按钮时,执行下面语句.
cs; //猜次数增加1
(s>a){ //如果猜数大于随机数.
c = "大了点"; //动态文本框提示”大了点”.
} (sa){ //如果猜对了,根据猜次数给出相应结果.
(cs<=5){ //如果猜次数在5次以内
c = "哇,你只猜了" + cs + "次就猜对了,真历害!"; //给出表扬,注意这里用到了,连接.
} { // 如果不只猜5次.
c="猜对了!你猜了"+cs+"次"; //提示猜对了,并给出猜次数.
}
} (s
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成立,那么执行ai,此时a、 i均为0,那么a为0,然后执行增值i,则i为1,再检测条件表达式i〈10仍成立,执行ai,则a为1;执行i,i为2……,这样反复循环,直到i为10时,条件表达式i〈10不成立,停止循环.明显可以看出循环进行了10次,这时a是多少呢?测试影片时输出为45

  for…in循环:这是遍历或者叫循环访问个组对象中成员.比如影片剪辑子级、对象属性、等.由于等在前面还没有介绍,因此我们将for…in循环放到下课介绍时再祥细介绍

  while循环:有点类似语句,只要条件成立就执行相应语句.

  格式:

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



Tags:  flashplayer flash播放器

延伸阅读

最新评论

发表评论