今天我们就一起来看看怎样用Flash制作打字练习的实用程序。
第1节、程序概述
程序名为:TypeTest。整个程序的目的就是鼓励玩家不停的敲击键盘,打印出与原文一样的的文章或字符,达到熟练键盘,快速输入的目的。作品效果以及源文件下载
在这篇教程的每一节,都会向程序中添加新的功能或特点,这样我们可以循序渐进地学习和讨论用到的技术,承前启后,保证你能完全理解整个进程,轻松掌握每一节内容。
编写的ActionScript需要完成下面这些事情:
让玩家对练习内容、练习时间及难易程度都有充分的控制权力;
提示每次键盘输入是否正确;每次练习结束会有成绩显示。
第2节、预备知识
学会从外置的文本文件中引入变量:
TypeTest的玩家总是一边不停的敲击键盘,一边参照原文内容。
原文从何而来呢?我们设原文是字符型变量。既然是变量,那么变量的保存方式应该有以下几种。
1.放在ActionScript中,并将其作为Flash电影的一部分。
2.用外置的文本文件保存,从而可以被Flash电影所引用。
3.保存为文件,从而也可被Flash电影所引用。
从现在我们程序的目标而言,选用第二个方案有着不可比拟的优势:
原文的更新将会比ActionScript变量形似书写简单——只需要更改外置文本文件即可,而不需修改源代码,使玩家能够更新自己的练习库。又没有牵涉到数据库等一大堆复杂的内容。要被引用的文本文件的格式必须是 变量名= 这样的形式,如果一个文本文件中有多个变量必须用 & 符号分开。
例如:Variable1=typeTest&Variable2=12344Variables3=English text file . 记住,所有的变量都是字符型的变量,如果要用在数字运算中我建议使用函数 Number(Variables2). 该函数返回 Variables2 所代表的数字 12344 。导入变量应使用函数:loadVariablesNum()。例如: fileName="English.txt"; loadVariablesNum(fileName,level); 从文本文件 English.txt 中导入变量到 Flash电影的level层中, level 大于等于0的整型数据。我这里把数据都导入到第 0 层中。即 loadVariablesNum(fileName,0)。
Ok,预备知识到此结束,下面开始我们激动人心的程序吧!
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fjc/) 第3节、制作练习场景
效果如图1 所示
制作过程: 1.新增一个名为 typeSpaceMovie 的电影剪辑
2.在 typeSpaceMovie 新增一图层,添加两个文字区域 /:text1 和 /:text2 . 并设置他们的大小, 和字体,字符大小完全一样。 在变量名前加 /: 表示这是告诉这个变量在主 TimeLine 中也是可用的,而不仅仅是typeSpaceMovie 电影剪辑中的局部变量。
第3节.制作练习场景 效果如图1 所示。实例(源文件)制作过程:
1.新增一个名为 typeSpaceMovie 的电影剪辑
2.在 typeSpaceMovie 新增一图层,添加两个文字区域 /:text1 和 /:text2 . 并设置他们的大小, 和字体,字符大小完全一样。 在变量名前加 /: 表示这是告诉Flash这个变量在主 TimeLine 中也是可用的,而不仅仅是typeSpaceMovie 电影剪辑中的局部变量。图1
图 1
3.设置text1属性为“动态文本区域,多行,自动换行”。设置 text2属性为“输入文本、多行、自动换行”。
[next]
4.回到主场景,引用电影剪辑 typeSpaceMovie 到主场景中, 并在text1中显示原文内容。 引用电影剪辑并将其显示到屏幕上可以使用 attachMovie 来完成这项任务。不过在引用之前,要正确的设置库。 选中库中的某个Symbol(元件),然后在库窗口的Options(选项)菜单中选择Linkage...(联接)。在 Symbol Linkage Properities (符号连