快来看flash - as入门教程(4)

2019-05-18 21:03

gotoAndStop (\} 按钮二: on (release) { q1answer = 2; gotoAndStop (\} 按钮三 on (release) { q1answer = 3; gotoAndStop (\}

这三段代码用人类的语言描述,就是:当用户点击某个按钮选择答案后,把他选择的答案记录到q1answer变量中去,然后进入下一题。 on这个单词代表随后的就是一个要触发的事件 release是指在按钮上松开鼠标这样一个事件

当动画执行到这里的时候,三个按钮都会分别监听用户有没有做在按钮上放开鼠标这个动作,一旦发生,按钮就会自动执行大括号{}里面的代码了 若用户选第一个,{}中是:

q1answer = 1; //用q1answer变量记住用户选择的是第一个答案 gotoAndStop (\进入下一题

上面我用了注释的方法来解释两句代码,你必须习惯,因为不是所有源程序都有教程,但是好的源程序都会有注释

第二题的按钮与前面相似,只是变量换为q2answer,选择完进入结束的画面,例如第一个,改为:

on (release) { q2answer = 1;

gotoAndStop (\} 结束的画面

结束应该做什么,当然是告诉用户分数啦,写在第20帧,就是label为quizEnd的那帧的代码:

// tally up the user's correct answers 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帧处建关键帧,键入\you for taking the quiz! Your score final score is: /2\(谢谢回答问题,你最后成绩是答对了 /2道题)

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

你是不是和chocobo一样不耐烦了?快下载

http://www.moock.org/webdesign/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(\}

当我们在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),参数在定义函数的时候就


快来看flash - as入门教程(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:(新)天桥施工组织设计(体育馆) -

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: