快速业务通道

flash action 由浅入深之一

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-10
被一大堆代码吓着了,代码这么长,只是为了让阅读者看得更清楚而已。(其实越短的代码才越可怕呢,呵呵)
// Stop the movie at the first question
stop (); // Initialize main timeline variables 定义变量
var displayTotal; // Textfield for displaying user''s score
var numQuestions = 2; // Number of quiz questions
var q1answer; // User''s answer for question1
var q2answer; // User''s answer for question2
var totalCorrect = 0; // Number of questions answered correctly 以上和例一一样
var correctAnswer1 = 3; // The correct choice for question 1 第一题的正确答案
var correctAnswer2 = 2; // The correct choice for question 2 第二题的正确答案 // Function to register user''s answers 这个函数的功能是提交答题者的答案
function answer (choice) {
answer.currentAnswer++;
//现在answer.currentAnswer是1,正在提交的是第一题,下一次answer.currentAnswer就变成2,代表提交的是第二题
set ("q" + answer.currentAnswer + "answer", choice);
// 不复杂不复杂,"q" + answer.currentAnswer + "answer"第一题的时候就是q1answer,第二题是q2answer,把参数choice传过来的值放到两个变量里面而已
if (answer.currentAnswer == numQuestions) {
// 判断是不是两题都答完了,是就转到问题结束帧
gotoAndStop ("quizEnd");
} else {
gotoAndStop ("q" + (answer.currentAnswer + 1));
}
} // Function to tally user''s score 这个函数是改题的
function gradeUser() {
// Count how many questions user answered correctly 将两个答案和正确答案比较,对就totalCorrect加一
//此处用了一个for循环,大家如有疑问的,可以查AS字典,在帝国就有中文版
for (i = 1; i <= numQuestions; i++) {
// 下面用的eval有必要说一下,它的作用是将字符串和变量组成一个新的变量名,是个很方便的功能
if (eval("q" + i + "answer") == eval("correctAnswer" + i)) {
totalCorrect++;
}
} // Show user''s score in an on-screen text field 将答案显示出来,与第一个例子同
displayTotal = totalCorrect;
}
好了,第一帧的函数写好了,之后每个答案的选择按钮就简单了 [1]?[2]?[3]?下一页??

例如第一题的选项一,就写:
on (release) {
answer(1);
}
第二题的写法同上(如果你的选择题有很多道,做法都是一样的,只要复制第一题,然后把题目改了就行)
最后在quizEnd帧里面调用改题的函数gradeUser(); 分析第二个例子是代码,你会发现比第一个例子精简了很多。 而集中在同一帧的代码,将:
* 更容易修改
* 更容易升级
* 更少的出错机会
* 更容易查错
* 更精简(更少的字节数)
第九章 数组(arrays)
在下一个新版本的多选题里,我们将使用什么AS的特性,来让它更好呢?
那就是数组。
数组就是一系列的数据(MOOCK又开始上课了,chocobo的英文和计算机都不算好,为免误人子弟,概念性的东西尽量精简)
例如这样两个变量储存的数据:
fruit1 = "oranges";
fruit2 = "apples";
它们是互相独立的,使用起来很不方便,我们需要的是数组,以下是数组的定义方法,用“[]”框住,用“,”分隔开每个元素:
fruitList = ["oranges", "apples"];
现在两个数据是放到同一个数组里面了,我们开始详细解说数组
数组里面每一个数据称为元素(element)。
而每一个元素都有个独立数字代表所处的位置,数字叫索引(index),注意! 第一个数据的索引是0,第二个才是1
要按索引来提出数据,我们要用一个运算符[],例如使用fruitList第一个元素赋值给a:
a=fruitList[0];
又例如将a的值赋给fruitList第一个元素:
fruitList[0]=a;
当然[]里面也可以放表达式、变

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号