快速业务通道

flash action 由浅入深之一

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-10
swers
function answer (choice) {
// Tack the user''s answer onto our array 将数据PUSH进数组,因为是顺序答题,所以用方法PUSH
userAnswers.push(choice);
// Do a little navigation, baby
// 如果答案数超过题目总数,自然就跳到quizEnd帧了
// 注意在本例中,已经不用上例的answer.currentAnswer而是使用userAnswers.length来控制问题是否结束
// 我们甚至可以用correctAnswers.length来代替numQuestions,记录正确答案数组的长度,不就是题目总数吗?
if (userAnswers.length == numQuestions) {
gotoAndStop ("quizEnd");
} else {
gotoAndStop ("q"+ (userAnswers.length + 1));
}
} // *** Function to tally the user''s score
function gradeUser() {
// Count how many questions were answered correctly.
// 开始改题,这里就不用再用上个版本的eval啦,那个东东实在是难懂兼难用,这个版本相对就很清晰明快
for (var j = 0; j < userAnswers.length; j++) {
if (userAnswers[j] == correctAnswers[j]) {
totalCorrect++;
}
}
// Show the user''s score in a dynamic text field
displayTotal = totalCorrect;
} 电影的其他部分不用改动(这就是使用FUNTION的好处啦,升级多快~) OK,进入下一章之前想想目前版本的弱点
* 题目,每次修改题目都要进入FLASH的场景修改,麻烦
* 按钮,每题就要做三个按钮
这都是麻烦的地方,我们要更精益求精地修改,让我们的多选题,轻易地从两题变成10题、100题
接下来我们要做的是
* 进一步改进我们存放数据的结构
* 让我们可以动态地生成每一道题目,只需输入数据,而不需要在FLASH里面操作就可以自动生成 所以——我们需要面向对象编程!(object oriented programming) chocobo:嘻嘻,众菜鸟是不是都倒了,AS基础教程竟然开始讲OOP了,呵呵,没关系啊,上面的教程一直都这么浅,以后也深不了
第十一章 一点面向对象编程知识
At is heart, OOP simply means that you treat portions of your program as self-contained, but interrelating modules called objects.
这是什么呀?我不翻译了,概念的我们就先不懂吧,对象主要构成包括属性(properties)和方法(methods)
一个对象通常都以现实世界里的某个东东做蓝本
例如我们可以定义一个对象叫球
那么这个球将会有这样的属性:半径、X坐标、Y坐标、颜色
同时,也会用属于球自己的方法例如:移动球、计算球的面积 当然,我们还可以定义一些相对抽象的对象,例如我们要做的多选题 所有的对象都属于某类(class),类的意思其实是用于创建对象的模版 一个实例(instance)就是某一个类的特定某一个case(好复杂,概念性的东西我翻不过来啦,反正实例就类创建出来的某一个对象) 还是再举例吧
* 例如我们有个一个叫Chair的类
* 这个类定义了一个东西需要它有四条腿,一个坐垫
* 然后我们就可以用Chair这个类来定义我们的不同对象(可理解为椅子的款式),每个对象就有它特有的高、宽、材料、重量、颜色,正是这些属性使每个对象互相区别。 所有的椅子互相区别,有自己的属性,但是他们又有同样的结构:四条腿、一个坐垫 OK,那AS里面的类和对象呢?
是的,AS里我们可以自己创建对象,也有可以使用的内建对象
内建的类(你可以用它来创建对象)包括:Array, Boolean, Color, Date, MovieClip, Number, Object, Sound, String, XML, XMLSocket
内建的对象(已经可以直接使用的对象)包括:Arguments, Key, Math, Mouse, Selection
内建的类、对象当然都是在FLASH里面有自己功能的东西。而正是这些功能非常常用,FLASH才内建了这些类和对象,例如:
Mouse.hide(); // Hide the mouse pointer 将鼠标隐藏,你经常用吧?现在才知道其实是内建的Mouse对象的一个hide()方法吧? 在学习如何创建自己的

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号