实用Flash应用程序—打字练习(2)

2016-01-29 14:32 9 1 收藏

实用Flash应用程序—打字练习(2),实用Flash应用程序—打字练习(2)

【 tulaoshi.com - Flash 】

第3节、制作练习场景

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/flash/)

  效果如图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属性为“输入文本、多行、自动换行”。

  4.回到主场景,引用电影剪辑 typeSpaceMovie 到主场景中, 并在text1中显示原文内容。 引用电影剪辑并将其显示到屏幕上可以使用 attachMovie 来完成这项任务。不过在引用之前,要正确的设置库。 选中库中的某个Symbol(元件),然后在库窗口的Options(选项)菜单中选择Linkage...(联接)。在 Symbol Linkage Properities (符号连接属性)对话框中选择 Export this Symbol (导出这个符号), 然后赋予它一个标志符。 这ActionScript 就能通过这个标着符访问这个被导出的元件了。例如 :我们把电影剪辑 typeSpaceMovie 的标志符 设为 typeSpaceM 再 通 过attachMovie("typeSpaceM","typeSpace",depth); 这条命令将符号 typeSpaceM复制到主场景上,命名为typeSpace,并给其设定一个深度值 depth(整数型变量)。 Flash必须为每一个电影剪辑分配一个深度值。当多个电影在屏幕上重叠时,具有最高深度值的电影剪辑将会显示在最上面。并且同个层只能有一个剪辑,如果尝试使用一个已存在的层次,新的电影剪辑将会取代原有的。

  5.整理代码:主场景只有一各关键帧: attachMovie( "typeSpaceM","typeSpace",0 ); loadVariablesNum("English.txt",0); stop();3.6.预览结果,哈!在text1 文字区域显示了 English.txt中的变量, text2文字区域可以进行键盘输入了。到此,练习场景的制作学习完毕。

  第4节、菜单选项和成绩判断

  预览上一节的成果,好像太单调了点。现在我们将做出类似于 windows 应用程序那样的菜单选项,增添以下效果:

  1.让玩家自己可以选择练习内容和时间。
  2.甚至可以自己拟定练习的难易程度。
  3.能判断玩家每次输入是否正确,并发出提示。
  4.统计最后成绩。

  4.1 创建声音效果

  4.1.1.从flash以外导入声音文件。

  通过:文件/导入... ,打开你想要的声音文件,Flash5支持的格式有 .wav 和.mp3。导入后的 .wav 文件会被Flash压缩, 即变成mp3格式。导入后,这个声音文件的一份被压缩的拷贝将出现你的元件库里。 同样, 选取这个声音元件,联接它,为它设一个标志符,使其在 ActionScript 中可用。我们导入了两个声音: error.wav 和 type.wav.

  4.1.2.创建声音对象并播放。必须创建声音对象方可使用。

    

[next]

  error = new Sound() // 创建一个声音对象;
  error.attachSound("errorSound"); //将输出符号为errorSound 的声音拷贝给声音对象error;
  error.start(begin,LoopNum);//播放声音error,参数begin表示开始 播放的开始时间(单位秒) //参数LoopNum表示循环播放的次数

  4.1.2 判断当前玩家输入是否正确;

  在主场景中用以下代码判断每次输入是否正确:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/flash/)

  var tempText1=text1.charAt(Selection.getBeginIndex()-1);
  var tempText2=text2.charAt(Selection.getBeginIndex()-1);
  if(tempText1!=tempText2 && textLength!=text2.length)
  { //当前输入错误时应触发的事件;
    error.start(0,1); // 报警一次;
    textLength=text2.length;//保证每按键一次只判断一次
  }

来源:https://www.tulaoshi.com/n/20160129/1493559.html

延伸阅读
标签: Web开发
方法一:在servlet的init()方法中缓存数据 当应用服务器初始化servlet实例之后,为客户端请求提供服务之前,它会调用这个servlet的init()方法。在一个servlet的生命周期中,init()方法只会被调用一次。通过在init()方法中缓存一些静态的数据或完成一些只需要执行一次的、耗时的操作,就可大大地提高系统性能。 例如,通过在init()方法中建...
标签: Web开发
方法一:在servlet的init()方法中缓存数据 当应用服务器初始化servlet实例之后,为客户端请求提供服务之前,它会调用这个servlet的init()方法。在一个servlet的生命周期中,init()方法只会被调用一次。通过在init()方法中缓存一些静态的数据或完成一些只需要执行一次的、耗时的操作,就可大大地提高系统性能。 例如,通过在init()方法中建...
标签: 电脑入门
您知道怎么消除应用程序乱码吗?掌握消除应用程序的乱码的方法是非常重要的,下面就给您介绍怎么消除应用程序的代码. 当你运行某些中文软件时,假如菜单等显示界面上出现乱码,一般可能是软件的中文链接库被英文链接库覆盖引起的,这类乱码经常发生在用微软开发工具(例如 VB、VC)开发的中文软件上。 因为你开发的这类软件,菜单等显示界面上的...
新的JavaTM 虚拟机(VMs)具有能够提高性能的特点, 并且你可以使用许多工具来提高应用程序的性能或减小一般类文件的尺寸。这种Java虚拟机的特性和工具可使你在不改变应用程序、或对应用程序仅做很小改动的情况下, 提高应用程序的性能。 Java虚拟机的特性 !-- frame contents -- !-- /frame contents -- Ja...
VC应用程序框架提供的强大功能,为我们的开发提供了极大的方便,利用它可以很轻松地生成应用程序的框架.许多常用功能,例如文档的创建,文件的打开,保存等操作的大部分代码都由应用程序框架来完成.这些操作对于开发软件的用户而言是透明的。微软设计Visual C++的初衷是尽量向用户提供尽可能简单的接口,但是,正是因为应用框架的这一透明性,使VC...