查看完整版本: Flash MX 编程深层次应用-ActionScript编程(3)

冰冷的心 2007-12-10 20:06

Flash MX 编程深层次应用-ActionScript编程(3)

</script></div><font id="zoom"><DIV style="FONT-SIZE: 18px; COLOR: #990000; FONT-FAMILY: ; 宋体: " align=center>1.2 ActionScript 语法介绍(2)</DIV><DIV style="PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-SIZE: 10.5pt; COLOR: black; LINE-HEIGHT: 180%" align=left><BR>&nbsp;&nbsp;&nbsp;&nbsp; <H3><SPAN lang=EN-US>1.2.4&nbsp; ActionScript</SPAN><SPAN style="FONT-FAMILY: 方正隶书简体">的简单语法</SPAN></H3><P class=MsoNormal><SPAN lang=EN-US>ActionScript</SPAN><SPAN style="FONT-FAMILY: 幼圆">的语法从整体上来看借鉴了许多面向对象语言的优点,因此和现在流行的</SPAN><SPAN lang=EN-US>C++/Java</SPAN><SPAN style="FONT-FAMILY: 幼圆">非常类似。有过语言基础的读者也许直接看代码就能理解代码的含义。</SPAN></P><H4><SPAN lang=EN-US>1</SPAN><SPAN style="FONT-FAMILY: 华文行楷">.</SPAN><SPAN lang=EN-US>{</SPAN><SPAN style="FONT-FAMILY: 华文行楷">和</SPAN><SPAN lang=EN-US>}</SPAN></H4><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">和</SPAN><SPAN lang=EN-US>C++</SPAN><SPAN style="FONT-FAMILY: 幼圆">一样,</SPAN><SPAN lang=EN-US>ActionScript</SPAN><SPAN style="FONT-FAMILY: 幼圆">的语法中</SPAN><SPAN lang=EN-US>{</SPAN><SPAN style="FONT-FAMILY: 幼圆">和</SPAN><SPAN lang=EN-US>}</SPAN><SPAN style="FONT-FAMILY: 幼圆">表示语句体的开始和结尾,用来分割不同的语句段。</SPAN></P><H4><SPAN lang=EN-US>2</SPAN><SPAN style="FONT-FAMILY: 华文行楷">.函数的说明</SPAN></H4><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">在</SPAN><SPAN lang=EN-US>ActionScript</SPAN><SPAN style="FONT-FAMILY: 幼圆">中同样也能声明用户自定义的函数。使用关键字</SPAN><SPAN lang=EN-US>function</SPAN><SPAN style="FONT-FAMILY: 幼圆">即可声明用户自定义的函数。在</SPAN><SPAN lang=EN-US>ActionScript</SPAN><SPAN style="FONT-FAMILY: 幼圆">中,声明函数的位置并没有关系,可以在代码段的开始就声明函数,也可以在代码段的中间或者末尾声明函数。只要在整个代码段中声明了函数,就可以在代码的任何地方调用。下面是一个声明及使用函数的例子:</SPAN></P><P class=a3><SPAN lang=EN-US>function test(){</SPAN></P><P class=a3><SPAN lang=EN-US>&nbsp; trace("This is an example for declare a function.");</SPAN></P><P class=a3><SPAN lang=EN-US>}</SPAN></P><P class=a3><SPAN lang=EN-US>test();</SPAN></P><H4><SPAN lang=EN-US>3</SPAN><SPAN style="FONT-FAMILY: 华文行楷">.判断句式</SPAN></H4><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">在</SPAN><SPAN lang=EN-US>ActionScript</SPAN><SPAN style="FONT-FAMILY: 幼圆">中常常会把用户的输入作为条件来进行一些判断,以决定动画的下一行为。</SPAN><SPAN lang=EN-US>ActionScript</SPAN><SPAN style="FONT-FAMILY: 幼圆">的判断句式和</SPAN><SPAN lang=EN-US>C++/Java</SPAN><SPAN style="FONT-FAMILY: 幼圆">等高级语言的几乎完全一致,其语法为:</SPAN></P><P class=a3><SPAN lang=EN-US>if (</SPAN><SPAN style="FONT-FAMILY: 幼圆">条件</SPAN><SPAN lang=EN-US>) { </SPAN><SPAN style="FONT-FAMILY: 幼圆">条件为真时执行的语句</SPAN><SPAN lang=EN-US> } else { </SPAN><SPAN style="FONT-FAMILY: 幼圆">条件为假时执行的语句</SPAN><SPAN lang=EN-US>}</SPAN></P><P class=MsoNormal style="MARGIN-LEFT: 67.75pt; TEXT-INDENT: -42pt"><SPAN style="FONT-FAMILY: 幼圆">下面是一个完整的例子:</SPAN></P><P class=a3><SPAN lang=EN-US>if (a&gt;5) {</SPAN></P><P class=a3><SPAN lang=EN-US>&nbsp; trace("The value of variable a is bigger than 5 .");</SPAN></P><P class=a3><SPAN lang=EN-US>}</SPAN></P><P class=a3><SPAN lang=EN-US>else {</SPAN></P><P class=a3><SPAN lang=EN-US>&nbsp; trace("The value of variable a is not bigger than 5.");</SPAN></P><P class=a3><SPAN lang=EN-US>}</SPAN></P><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">在变量</SPAN><SPAN lang=EN-US>a</SPAN><SPAN style="FONT-FAMILY: 幼圆">的值大于</SPAN><SPAN lang=EN-US>5</SPAN><SPAN style="FONT-FAMILY: 幼圆">的时候,</SPAN><SPAN lang=EN-US>trace</SPAN><SPAN style="FONT-FAMILY: 幼圆">函数输出“</SPAN><SPAN lang=EN-US>The value of variable a is bigger than 5 .</SPAN><SPAN style="FONT-FAMILY: 幼圆">”,当</SPAN><SPAN lang=EN-US>a</SPAN><SPAN style="FONT-FAMILY: 幼圆">的值小于等于</SPAN><SPAN lang=EN-US>5</SPAN><SPAN style="FONT-FAMILY: 幼圆">的时候,</SPAN><SPAN lang=EN-US>trace</SPAN><SPAN style="FONT-FAMILY: 幼圆">函数就会输出“</SPAN><SPAN lang=EN-US>The value of variable a is not bigger than 5.</SPAN><SPAN style="FONT-FAMILY: 幼圆">”。</SPAN></P><H4><SPAN lang=EN-US>4</SPAN><SPAN style="FONT-FAMILY: 华文行楷">.循环句式</SPAN></H4><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">在</SPAN><SPAN lang=EN-US>Flash ActionScript</SPAN><SPAN style="FONT-FAMILY: 幼圆">中,共有三种循环句式,它们是:</SPAN></P><H6><SPAN lang=EN-US style="FONT-FAMILY: Symbol">&Ouml;<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN><SPAN lang=EN-US>for(</SPAN><SPAN style="FONT-FAMILY: 幼圆">初始化</SPAN><SPAN lang=EN-US>;</SPAN><SPAN style="FONT-FAMILY: 幼圆">条件</SPAN><SPAN lang=EN-US>;</SPAN><SPAN style="FONT-FAMILY: 幼圆">递进</SPAN><SPAN lang=EN-US>) {</SPAN><SPAN style="FONT-FAMILY: 幼圆">循环体</SPAN><SPAN lang=EN-US>}</SPAN></H6><H6><SPAN lang=EN-US style="FONT-FAMILY: Symbol">&Ouml;<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN><SPAN lang=EN-US>while(</SPAN><SPAN style="FONT-FAMILY: 幼圆">条件</SPAN><SPAN lang=EN-US>) {</SPAN><SPAN style="FONT-FAMILY: 幼圆">循环体</SPAN><SPAN lang=EN-US>}</SPAN></H6><H6><SPAN lang=EN-US style="FONT-FAMILY: Symbol">&Ouml;<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN><SPAN lang=EN-US>do {</SPAN><SPAN style="FONT-FAMILY: 幼圆">循环体</SPAN><SPAN lang=EN-US>} while(</SPAN><SPAN style="FONT-FAMILY: 幼圆">条件</SPAN><SPAN lang=EN-US>)</SPAN></H6><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">下面用实例来分析这三种不同的循环句式:</SPAN></P><H5><SPAN lang=EN-US>for</SPAN><SPAN style="FONT-FAMILY: 黑体">循环</SPAN></H5><P class=MsoNormal><SPAN lang=EN-US>for</SPAN><SPAN style="FONT-FAMILY: 幼圆">循环是最常用的循环方式,在它的括号中用分号隔开了三个部分。最前的是初始化变量,一般用来初始化充当循环计数器的变量;中间的就是循环执行的条件,当条件为真时执行循环体中的语句;最后是循环体执行完后要执行的语句,一般来说都是修改循环计数器变量的值,以备下次循环判断。下面是个实例:</SPAN></P><P class=a3><SPAN lang=EN-US>for (i=1;i&lt;10;i++){</SPAN></P><P class=a3><SPAN lang=EN-US>&nbsp; trace(i);</SPAN></P><P class=a3><SPAN lang=EN-US>}</SPAN></P><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">这段程序将输出</SPAN><SPAN lang=EN-US>1</SPAN><SPAN style="FONT-FAMILY: 幼圆">到</SPAN><SPAN lang=EN-US>9</SPAN><SPAN style="FONT-FAMILY: 幼圆">共</SPAN><SPAN lang=EN-US>9</SPAN><SPAN style="FONT-FAMILY: 幼圆">个数字,当</SPAN><SPAN lang=EN-US>i=10</SPAN><SPAN style="FONT-FAMILY: 幼圆">时,循环中的条件为假,循环体将不被执行。</SPAN></P><H5><SPAN lang=EN-US>While</SPAN><SPAN style="FONT-FAMILY: 黑体">循环</SPAN></H5><P class=MsoNormal><SPAN lang=EN-US>while</SPAN><SPAN style="FONT-FAMILY: 幼圆">循环,当条件成立时执行循环体中的语句,条件的判断在循环之前。</SPAN></P><P class=a3><SPAN lang=EN-US>i=1;</SPAN></P><P class=a3><SPAN lang=EN-US>while (i&lt;10){</SPAN></P><P class=a3><SPAN lang=EN-US>&nbsp; trace(i);</SPAN></P><P class=a3><SPAN lang=EN-US>&nbsp; i++;</SPAN></P><P class=a3><SPAN lang=EN-US>}</SPAN></P><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">这段程序将输出</SPAN><SPAN lang=EN-US>1</SPAN><SPAN style="FONT-FAMILY: 幼圆">到</SPAN><SPAN lang=EN-US>9</SPAN><SPAN style="FONT-FAMILY: 幼圆">共</SPAN><SPAN lang=EN-US>9</SPAN><SPAN style="FONT-FAMILY: 幼圆">个数字,当</SPAN><SPAN lang=EN-US>i=10</SPAN><SPAN style="FONT-FAMILY: 幼圆">时,循环中的条件为假,循环体将不被执行。</SPAN></P><SPAN lang=EN-US style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial"><BR style="PAGE-BREAK-BEFORE: always" clear=all></SPAN><H5><SPAN lang=EN-US>do…while</SPAN><SPAN style="FONT-FAMILY: 黑体">循环</SPAN></H5><P class=MsoNormal><SPAN lang=EN-US>do…while</SPAN><SPAN style="FONT-FAMILY: 幼圆">循环,当条件成立时继续执行循环体中的语句,条件的判断在循环体之后,也就是说,循环体至少被执行一次(即使条件不成立,因为条件是在执行完循环体中的语句后才进行判断的)。</SPAN></P><P class=a3><SPAN lang=EN-US>i=1;</SPAN></P><P class=a3><SPAN lang=EN-US>do {</SPAN></P><P class=a3><SPAN lang=EN-US>&nbsp; trace(i);</SPAN></P><P class=a3><SPAN lang=EN-US>&nbsp; i++;</SPAN></P><P class=a3><SPAN lang=EN-US>}while(i&lt;10);</SPAN></P><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">这段程序将输出</SPAN><SPAN lang=EN-US>1</SPAN><SPAN style="FONT-FAMILY: 幼圆">到</SPAN><SPAN lang=EN-US>10</SPAN><SPAN style="FONT-FAMILY: 幼圆">共</SPAN><SPAN lang=EN-US>10</SPAN><SPAN style="FONT-FAMILY: 幼圆">个数字,当</SPAN><SPAN lang=EN-US>i=10</SPAN><SPAN style="FONT-FAMILY: 幼圆">时,执行完循环体中的语句后,才进行判断,发现条件不成立,则不进行下次循环。</SPAN></P><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">在循环中,还可以使用</SPAN><SPAN lang=EN-US>break</SPAN><SPAN style="FONT-FAMILY: 幼圆">和</SPAN><SPAN lang=EN-US>continue</SPAN><SPAN style="FONT-FAMILY: 幼圆">两条指令,用来控制循环。</SPAN></P><H5><SPAN lang=EN-US>break</SPAN><SPAN style="FONT-FAMILY: 黑体">中断循环</SPAN></H5><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">执行后跳出循环执行循环外的语句。例如:</SPAN></P><P class=a3><SPAN lang=EN-US>for (i=0;i&lt;100;i++) {</SPAN></P><P class=a3><SPAN lang=EN-US>&nbsp; if (i==10) break;</SPAN></P><P class=a3><SPAN lang=EN-US>}</SPAN></P><P class=a3><SPAN lang=EN-US>trace (i);</SPAN></P><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">这段程序运行的结果使</SPAN><SPAN lang=EN-US>trace(i)</SPAN><SPAN style="FONT-FAMILY: 幼圆">输出了</SPAN><SPAN lang=EN-US>10</SPAN><SPAN style="FONT-FAMILY: 幼圆">这个值,因为当</SPAN><SPAN lang=EN-US>i</SPAN><SPAN style="FONT-FAMILY: 幼圆">等于</SPAN><SPAN lang=EN-US>10</SPAN><SPAN style="FONT-FAMILY: 幼圆">的时候就跳出了循环。</SPAN></P><H5><SPAN lang=EN-US>continue</SPAN><SPAN style="FONT-FAMILY: 黑体">中断一次循环</SPAN></H5><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">当前的循环被中断,回到循环的开始部分继续下一次循环。例如:</SPAN></P><P class=a3><SPAN lang=EN-US>for (i=0;i&lt;100;i++) {</SPAN></P><P class=a3><SPAN lang=EN-US>&nbsp; if (i==10) continue;</SPAN></P><P class=a3><SPAN lang=EN-US>&nbsp; trace (i);</SPAN></P><P class=a3><SPAN lang=EN-US>}</SPAN></P><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">这段程序的运行结果是,除了</SPAN><SPAN lang=EN-US>10</SPAN><SPAN style="FONT-FAMILY: 幼圆">之外的</SPAN><SPAN lang=EN-US>1</SPAN><SPAN style="FONT-FAMILY: 宋体">~</SPAN><SPAN lang=EN-US>99</SPAN><SPAN style="FONT-FAMILY: 幼圆">的数字都被</SPAN><SPAN lang=EN-US>trace(i)</SPAN><SPAN style="FONT-FAMILY: 幼圆">输出。因为当</SPAN><SPAN lang=EN-US>i</SPAN><SPAN style="FONT-FAMILY: 幼圆">等于</SPAN><SPAN lang=EN-US>10</SPAN><SPAN style="FONT-FAMILY: 幼圆">时,执行了</SPAN><SPAN lang=EN-US>continue</SPAN><SPAN style="FONT-FAMILY: 幼圆">语句,回到循环开始,</SPAN><SPAN lang=EN-US>i</SPAN><SPAN style="FONT-FAMILY: 幼圆">的值变成了</SPAN><SPAN lang=EN-US>11</SPAN><SPAN style="FONT-FAMILY: 幼圆">。</SPAN></P><H5><SPAN lang=EN-US>5</SPAN><SPAN style="FONT-FAMILY: 黑体">.注释~</SPAN></H5><P class=MsoNormal><SPAN style="FONT-FAMILY: 幼圆">和</SPAN><SPAN lang=EN-US>C</SPAN><SPAN style="FONT-FAMILY: 幼圆">和</SPAN><SPAN lang=EN-US>Java</SPAN><SPAN style="FONT-FAMILY: 幼圆">一样,“</SPAN><SPAN lang=EN-US>//</SPAN><SPAN style="FONT-FAMILY: 幼圆">”两个斜杠表示整行注释,在这一行内,“</SPAN><SPAN lang=EN-US>//</SPAN><SPAN style="FONT-FAMILY: 幼圆">”之后的所有字符都会被认为是注释而被忽略掉。“</SPAN><SPAN lang=EN-US>/*</SPAN><SPAN style="FONT-FAMILY: 幼圆">”到“</SPAN><SPAN lang=EN-US>*/</SPAN><SPAN style="FONT-FAMILY: 幼圆">”之间的是段落注释,在“</SPAN><SPAN lang=EN-US>/*</SPAN><SPAN style="FONT-FAMILY: 幼圆">”到“</SPAN><SPAN lang=EN-US>*/</SPAN><SPAN style="FONT-FAMILY: 幼圆">”之间的所有字符(可以换行)都会被认为是注释而被忽略掉。看下面注释的例子:</SPAN></P><P class=a3><SPAN lang=EN-US>//</SPAN><SPAN style="FONT-FAMILY: 幼圆">这是一行注释</SPAN></P><P class=a3><SPAN lang=EN-US>a=5;</SPAN></P><P class=a3><SPAN lang=EN-US>/*</SPAN><SPAN style="FONT-FAMILY: 幼圆">下面的都是注释</SPAN></P><P class=a3><SPAN style="FONT-FAMILY: 幼圆">这一行是注释</SPAN></P><P class=a3><SPAN style="FONT-FAMILY: 幼圆">注释到这行末结束</SPAN><SPAN lang=EN-US>*/</SPAN></P><P class=a3><SPAN lang=EN-US>trace(a);</SPAN></P></DIV></font>
页: [1]
查看完整版本: Flash MX 编程深层次应用-ActionScript编程(3)