用Flash制作交互课件:相关脚本元素 :: 数学

来源: BlogBus 原始链接: http://www.blogbus.com:80/blogbus/blog/diary.php?diaryid=119952 存档链接: https://web.archive.org/web/20041120193934id_/http://www.blogbus.com:80/blogbus/blog/diary.php?diaryid=119952


数学 数学是一门艺术,一门让人觉得有趣的艺术。 <<<多项选择课件设计思路和Flash实现方法 | 主页 | 制作交互式Web课件的新工具--Hot Potatoes>>> 用Flash制作交互课件:相关脚本元素 04/03/26 Flash 5是一款矢量动画制作软件,由于其具有很强的动画表现能力和交互特性,深受广大课件制作者的喜爱,已经逐渐成为课件制作的重要工具。 好的课件应该具有良好的交互性和开放性。使用Flash 5制作课件,结合应用它的动作脚本语言,完全可以满足这一要求。本文以制作多项选择题课件为例,探讨应用Flash 5动作脚本语言制作交互性和开放性课件的方法。 源文件下载 这里我们先讲讲与 交互性开放性课件制作有关的Flash 5脚本语言元素 。 Flash 5的动作脚本语言-ActionScript是一种面向对象的编程语言。与Flash 4相比,Flash 5的动作脚本语言更加完善和强大。灵活运用动作脚本语言,我们就可以制作出具有良好交互性和开放性的课件。 Flash动作脚本语言像其它脚本语言一样具有丰富的语言元素,包括常量、变量、运算符、表达式、函数、属性、动作、对象和电影剪辑等等。与创建交互性和开放性课件密切相关的有 按钮、电影剪辑和相应的事件和动作 。 1.鼠标事件管理动作与鼠标事件 Flash动作脚本语言中的On Mouse Event动作用于检测鼠标事件和键盘按键事件。本动作只能分配给按钮。当指定的鼠标或键盘按键事件发生时,执行该动作内的语句。该动作的语法格式如下: on(mouseEvent) { statements; } 其中,mouseEvent是指鼠标事件或按键事件,Flash定义了以下mouseEvent:

  • Press :鼠标指针在按钮上时按下鼠标按键。
  • Release :鼠标指针在按钮上时释放鼠标按键。
  • RollOver :鼠标指针移到按钮上面。
  • RollOut :鼠标指针从按钮上移出。
  • Release Outside :鼠标指针在按钮上时按下鼠标按键,移出按钮外后才释放按键。
  • DragOut :鼠标指针在按钮上时按下鼠标键,然后拖出按钮外。
  • DragOver :鼠标指针在按钮上时按下鼠标键,然后拖出按钮外,接着又拖回按钮上。
  • KeyPress :按下指定的键盘键(键盘键用键码或键常数指定,请参看Flash的帮助)。 这些鼠标事件可以在动作面板的参数区选择,且可以选择一个,也可以同时选择多个,如图1所示。 图1 在动作面板参数区中选择鼠标事件 例如,可以给多项选择测试课件中的"下一题"按钮分配下面的动作: on (release) { if (answer == correctanswer) { score = score+1; } gotoAndPlay ("载入"); } 这段代码的功能是:当学生按下"下一题"按钮时,首先判断学生的选择答案是否正确。如果正确,分数累加1分,否则不加分。然后跳转"载入"帧,继续测试下一题。 2.电影剪辑事件管理动作与电影剪辑事件 Flash动作脚本语言中的onClipEvent动作用于处理电影剪辑事件。该动作的语法格式如下: onClipEvent(movieEvent);{ statements; } 动作中的movieEvent参数指定电影剪辑事件。本动作只能分配给电影剪辑实例。当指定的剪辑事件发生时,执行该动作内的语句。电影剪辑事件包括:
  • load :电影剪辑实例化并在时间轴中出现时触发本动作。
  • unload :在电影剪辑实例从时间轴中卸载之后,在第一帧触发本动作。与unload剪辑事件关联的动作在此帧中其它任何动作之前被处理。
  • enterFrame :在播放电影剪辑实例的任一帧时触发本动作。与enterFrame剪辑事件关联的动作在该帧中其它任何动作之后被处理。
  • mouseMove :每当移动鼠标时触发本动作。使用_xmouse和_ymouse属性可以确定当前鼠标的坐标。
  • mouseDown :鼠标左键按下时触发本动作。
  • mouseUp :释放鼠标左键时触发本动作。
  • keyDown :当某一键被按下时触发本动作。使用Key.getCode方法可以获得最近一次按键的信息。
  • keyUp :释放某一按键时触发本动作。
  • data : 当接收到loadVariables或loadMovie动作载入的数据时触发本动作。对于loadVariables动作,data事件只在载入最后一个变量时发生一次;对于loadMovie动作,每读入一段数据data事件就发生一次。 这些剪辑事件可以在动作面板的参数区选择,且每次只能选择一个,如图2所示。 图2 在动作面板参数区中选择剪辑事件 例如,可以给一个电影剪辑分配下面的动作: onClipEvent(load){ Mouse.hide() startDrag("", true); } 这段代码的功能是:当指定的电影剪辑载入时,先隐藏标准鼠标光标,然后允许把已载入的电影剪辑当作鼠标光标拖动。 3.载入外部文件的动作 Flash动作脚本语言中的loadVariables动作的作用是从外部文件中载入变量和设置变量的值。该动作的语法格式如下: loadVariables (url ,location [, variables]); 动作中的参数url是载入外部文件的绝对或相对URL。URL中指向的主机必须与下载的Flash课件处在同一子域;location是一个可选的参数,用于指定接收变量的层级或目标。variables是一个可选的参数,用于指定发送变量的方法。 loadVariables动作可以从外部文件,如文本文件或CGI脚本、ASP(Active Server Pages)、PHP(Personal Home Page)生成的文本中载入变量,并在课件或电影剪辑中设置这些变量的值。loadVariables动作还可以用于更新当前正在播放的课件中的变量的值。 在loadVariables动作中url参数指定的文本必须是标准的MIME格式。在文本中可以指定任意个变量。例如,在我们的多项测试课件中,存储测试信息的文本文件test.txt中有下面的内容,定义了3个变量: title=Flash5基础多项选择测试&totalQuestions=4&eof=1 可以用loadVariables动作把这个文本文件载入课件中: loadVariables("test.txt", 0); 这个动作的作用就是载入测试信息。载入这个文本文件后,在课件中将设置title、totalQuestions和eof等3个变量及其取值。 在Flash中,我们可以使用它的动作面板给按钮、电影剪辑或帧设置动作。使用正常模式的动作面板,可以通过鼠标单击和拖放操作创建动作脚本,无需手工编写。如果对动作脚本语言比较熟悉,也可以使用专家模式动作面板手工编写脚本。很多动作的设置只要求有少量的编程经验,有些动作的应用则要求比较熟悉编程语言,用于高级开发。 math 发表于 04/03/26 19:50 引用Trackback(0) | 编辑 Comments 发表评论 最近更新 用Flash制作选择题 数列、极限与数学归纳法 制作交互式Web课件的新工具--Hot Potatoes 基于Web的多媒体CAI课件开发过程中若干问题的研究和实践 用Authorware快速制作选择题课件 用Flash制作交互课件:相关脚本元素 多项选择课件设计思路和Flash实现方法 横戈,你瘦了! 回来了!我喜极而泣! 从课件到积件:我国学校课堂计算机辅助教学的新发展 中国电脑教育报(在线版) 2004年第08期(03.08) 2004年第07期(03.01) 2004年第06期(02.23) 2004年第05期(02.16) 2004年第04期(02.09) 2004年第03期(01.19) 2004年第02期(01.12) 2004年第01期(01.05) 2003年第50期(12.28) 2003年第49期(12.21) 2003年第48期(12.15) 2003年第47期(12.07) 2003年第46期(12.01) 2003年第45期(11.24) 2003年第44期(11.17) 2003年第43期(11.10) 2003年第42期(11.03) 2003年第41期(10.27) 2003年第40期(10.20) 2003年第38-39期(10.13) 2003年第37期(09.29) 2003年第36期(09.22) 2003年第35期(09.15) 2003年第34期(09.08) 2003年第33期(09.01) 2003年第32期(08.25) 2003年第31期(08.18) 2003年第30期(08.11) 2003年第29期(08.04) 2003年第28期(07.28) 2003年第27期(07.21) 2003年第26期(07.14) 2003年第25期(07.07) 2003年第24期(06.30) 2003年第23期(06.23) 2003年第22期(06.16) 2003年第21期(06.09) 2003年第20期(06.02) 2003年第19期(05.26) 2003年第18期(05.19) 2003年第16-17期(05.12) 2003年第15期(04.28) 2003年第14期(04.21) 2003年第13期(04.14) 2003年第12期(04.07) 2003年第11期(03.31) 2003年第10期(03.24) 2003年第09期(03.17) 2003年第08期(03.10) 2003年第07期(03.03) 2003年第06期(02.23) 2003年第05期(02.17) 2003年第04期(01.27) 2003年第03期(01.20) 2003年第02期(01.13) 2003年第01期(01.06) 2003年第45期(11.24) 2003年第44期(11.17) 2003年第43期(11.10) 2003年第42期(11.03) 2003年第41期(10.27) 2003年第40期(10.20) 2003年第38-39期(10.13) 2003年第37期(09.29) 2003年第36期(09.22)