FlashAS基础精典教程(3)

2008-04-02 11:06:09来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折



  if (q1answer == 3){

  totalCorrect = totalCorrect 1;

  }

  if (q2answer == 2){

  totalCorrect ; //totalCorrect 其实是totalCorrect = totalCorrect 1;一个更简洁的写法,几乎少打了一半的字母啊。

  }

  // show the user's score in an on-screen text field

  displayTotal = totalCorrect;

  用人的语言描述:假如第一题选3,答对数加一,假如第二题选2,答对数加一,把答对题目数赋予另一变量

  现在答对的题数是放到变量displayTotal中了,怎么显示?

  在quiz end第20帧处建关键帧,键入"Thank you for taking the quiz! Your score final score is: /2"(谢谢回答问题,您最后成绩是答对了 /2道题)

  在"/2"之前那个空白的地方放上一个文本框,菜单Text>>Options显示文本面板,把Static Text下拉改为Dynamic Text,顺便把Border/Bg的钩去掉,最后在Variable那一栏填上要显示的变量名displayTotal

  您是不是和chocobo相同不耐烦了?快下载http://www.moock.orghttp://webdesign.chinaitlab.com/lect...oockQuizzes.zip ;吧,里面的quiz.fla就是本章的内容,其他的fla的内容也将会在后面讲到

  第六章 再来补充一点AS知识

  数据分类是很有必要的,象8005154556这样的一个数字是没有多大意义的,但是假如将他归类到电话号码:800-515-4556,那就有意义了。(这是WHO的电话啊?是不是MOOCK的?呵呵)

  AS里面数据的类型相对其他语言已算少的,有:

  * 字符串String 由一系列的characters组成,能够包含字母,数字和符号,一般用双引号""扩住(记住不要写了全角的“”)

  * 数字Number

  * 布尔值Boolean 用于条件判断的时候,只有两个值true和false

  * Null and Undefined 这也是数据的类型之一,Null代表变量还没有内容,Undefined是连变量都未定义

  * 数组Array 用来按顺序地存放一组数据

  * MovieClip 这也是数据的一种吗?您就当他是FLASH特有的一种数据吧,装的就是个个MC INSTANCE(解释一下吧,MC从library拖到场景中就是个单独的instance,一个MC能够创立多个instance),更有MC里面的其他数据

  * Object 能够是FLASH已内部定义的,或是用户写程式时自定义的一类数据

  再分类一下

  number, string, boolean, undefined, and null,这些属于简单的数据类型,特征是只有一个值

  array, object, movieclip. 就能够包含不止一个值

  chocobo:其实array也应该算是object,上面这些概念的东西总是有些沉闷,没关系,留下印象,以后用到了,自然会回过来真正了解一遍的

  第七章 能够重复的函数(function)

  不是用几个例子来示范吗?怎么还不讲例子啊?是的,下一个例子要用到函数,所以再补充点函数知识。(上当了吧?chocobo也上当了,开始翻译的时候没想到这篇东西这么长的,这才讲完第一个例子呢 55~)

  一个函数是下面这个样子的:

  function funcName () {

  statements

  }

  在ACTION面板里面,function这个单词是变色的,FLASH认识这个单词,他代表后面的就是描述函数的内容

  funcName是函数的名字,当您以后要用这函数的时候,就要敲这个名字了(是的,建函数就是为了以后反复调用他)

  ()小括号里面是参数,什么是参数一会再讲

  {}大括号里面的就是函数所要完成功能的一句句代码。

  当我们建立函数之后,函数并不运行,只在您用函数的名字调用他出来,才正式开始运行

  例如我们有这样一个函数

  function sayHi () {

  trace("Hi!");

  }

  当我们在FLASH某帧需要sayHi的时候,输入AS:

  sayHi();

  是不是和最常见的stop();更有play();相同啊?因为他们都是函数嘛

  sayHi函数真是智,来个有意义的函数吧。先在场景里放好一个名字叫ball的instance(千万记得要给instance输入名字,否则函数运行没结果别找我)

  在第一帧输入这样一个函数:

  function moveBall () {

  ball._x = 10; // 怕有人不懂,解释一下,_x代表ball的横坐标,ball._x =10 的意思是ball._x = ball._x 10 ,这样省略的写法更有 -= *= /= 等等

  ball._y = 10;

  }

  再做一个按钮,按钮的AS:

  on (release) {

  moveBall();

  }

  好的,运行,从AS您能够看到,每点一下按钮,执行一次函数,而函数让小球下斜下移动。(FLASH的坐标轴,原点在左上角)

  为什么要建立函数呢,就是想更有效率,现在有这个函数已不用每移动一下写一次AS了,但还是不够,我们需要更有扩展性(flexibility)的函数

  这个函数只能移动叫ball的MC,只能向固定的方向移动固定的距离,我们需要能够移动任何MC,向任何方向移动任何距离的函数,这样能够省却很多输入AS的工夫(这就叫一劳永逸,呵呵)

  我们的新函数有三个地方是每次调用都不相同的

  1、移动的那个MC的名字

  2、水平移动的距离

  3、垂直移动的距离(呵呵,用极坐标,也能够把2、3说成移动的距离,和移动的角度,但是大家都不习惯极坐标)

  为了告诉函数这些变化的地方,我们需要参数(parameters),参数在定义函数的时候就要输入,我们的函数改写好了:

  function moveClip (theClip, xDist, yDist) {

  theClip._x = xDist;

  theClip._y = yDist;

  }

  当我们要实现原来函数功能的时候,现在调用新函数就变成

  moveClip (ball, 10, 10);

  定义函数的时候function moveClip (theClip, xDist, yDist) {

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: 使用钢笔工具绘制曲线路径

下一篇: 拖拽动作连同碰撞动作周详讲解