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

2016-03-18 16:49 18 1 收藏

图老师电脑网络栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享实用Flash应用程序—打字练习(2) (1)的教程,热爱PS的朋友们快点看过来吧!

【 tulaoshi.com - FLASH 】

第3节、制作练习场景

  效果如图1 所示

  制作过程: 1.新增一个名为 typeSpaceMovie 的电影剪辑

  2.在 typeSpaceMwww.tulaoshi.comovie 新增一图层,添加两个文字区域 /: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.统计最后成绩。

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

  4.1 创建声音效果

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

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

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

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

    

[1] 200806/15309_2.html'>[2] 200806/15309_2.html'>下一页

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

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

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

  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;//保证每按键一次只判断一次
  }

200806/15309.html'>上一页  200806/15309.html'>[1] [2] 

来源:http://www.tulaoshi.com/n/20160318/1890819.html

延伸阅读
标签: Web开发
在过去,由于为了获得新数据而不得不重新加载web页面(或者加载其他页面)导致web应用程序发展被限制。虽然有其他方法可用(不加载其他页面),但是这些技术都没有被很好地支持而且有bug成灾的趋向。在过去的几个月里,一个过去并不被广泛支持的技术已经被越来越多的web冲浪者(web surfers??是指浏览器还是浏览者?)所接受,它给了开发...
标签: flash教程
7.退出元件编辑状态,将我们刚才做好的这个元件放到影片中,然后点击它,将其“instance”值改为“screen”。然后在“动作-影片剪辑”中加入以下代码: onClipEvent(load) { textshow=new string; textshow="打字效果演示。你可以在下面的方框中输入其它字符,改变显示的内容。由RPGS制作。"; index=1; ...
标签: Web开发
方法一:在servlet的init()方法中缓存数据 当应用服务器初始化servlet实例之后,为客户端请求提供服务之前,它会调用这个servlet的init()方法。在一个servlet的生命周期中,init()方法只会被调用一次。通过在init()方法中缓存一些静态的数据或完成一些只需要执行一次的、耗时的操作,就可大大地提高系统性能。 例如,通过在init()方法中建...
10款最实用的应用程序值得拥有 哪些应用程序才是最实用的?很多时候你是不是发现手机上这么多的应用程序却没有有用的,这怎么办呢?下面小编就为大家介绍10款超级实用的应用程序,让你体验更好的手机服务。 音乐雷达:Shazam 有多少次你想知道正在播放的音乐是什么,但你总是没有办法搞清楚怎么办呢?有了Shazam,这不再是问题...
标签: Web开发
方法一:在servlet的init()方法中缓存数据 当应用服务器初始化servlet实例之后,为客户端请求提供服务之前,它会调用这个servlet的init()方法。在一个servlet的生命周期中,init()方法只会被调用一次。通过在init()方法中缓存一些静态的数据或完成一些只需要执行一次的、耗时的操作,就可大大地提高系统性能。 例如,通过在init()方法中建...

经验教程

283

收藏

49
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部