在Flash8制作的演示型课件添加交互功能的技巧

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:y286491357
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:介绍了在Flash8中使用ActionScript2.0制作交互型课件时,如何实现进度控制、临时板书、绘图的几点技巧。
  关键词:Flash; ActionScript2.0; 课件; 绘图
  中图分类号:TP391文献标识码:A文章编号:1009-3044(2008)08-11ppp-0c
  
  1 引言
  
  Flash是最广泛使用的多媒体课件制作软件之一。利用Flash课件能将抽象的知识以动画的形式生动对表现出来,化抽象为形象,从而帮助学生理解抽象内容。另外,在实际教学过程中,教师通常要使用多媒体课件做两类控制:一是控制课件内容的演示顺序,二是根据当时学生的反馈信息,在计算机上做临时的板书说明、指示难点和重点等。因此,在课堂演示型课件制作过程中,需要实现简单人机交互,也就是要实现一定的交互功能。
  
  2 需求分析
  
  在多媒体课堂演示型课件实际操作中,对教师需要的功能实现方法的分析结果:
  (1)控制课件内容的演示顺序的需求实现方法
  只需要在课件中添加能跳转到前一帧、下一帧、第一帧、退出系统的功能按钮即可。
  (2)在计算机上做临时的板书说明、指示难点和重点的需求实现方法
  可以通过在课件上增加画直线、画矩形的功能来实现。使用画直线功能,相当于拿着一支笔在课件上一笔一划地写字,也可以直接在重点、难点下划线;使用带填充色的画矩形功能,可以覆盖一些课堂内容,便于课堂提问以及知识点的回顾。这个需求的实现方法可以归结为设置绘图格式。
  课件需要功能的整体功能可以用图1的用例图表示。
  
  图2
  
  设置绘图格式功能的需求分析结果用图2的用例图表示。
  
  图4
  
  (2)分别单击图4中的各个按钮,然后在“动作”面板中输入以下的语句:
  
  图5
  
  (3)在“绘图控制”的层输入以下语句。
  // 使用多重循环创建一个保存WEB颜色设置的阵列
  var colors = new String("00,33,66,FF,CC,99").split(",");
  var color_array:Array = new Array();
  var color_array_fill:Array=new Array();
  for (var r = 3; r  for (var g = 0; g  for (var b = 0; b  var rgb = colors[r] colors[g] colors[b];
  var gbr= colors[g] colors[b] colors[r];
  color_array.push({data:"0x" rgb, label:"#" rgb});
  color_array_fill.push({data:"0x" gbr, label:"#" gbr});
  }
  }
  }
  //将阵列中的颜色组合在下拉列表框中显示出来
  fillColor_cb.dataProvider = color_array_fill;
  strokeColor_cb.dataProvider = color_array;
  //设置可以选择的绘图类型
  shape_cb.dataProvider = [’直线’, ’矩形’];
  //下面的实现方法来自帮助中“removeListener”的搜索结果
  //下面的实例在舞台上附加三个按钮,并让用户在运行时用鼠标指针在 SWF 文件中绘制线条。一个按钮从 SWF 文件中清除所有线条。第二个按钮删除鼠标侦听器,所以用户无法绘制线条。第三个按钮在鼠标侦听器被删除后添加鼠标侦听器,所以用户可以再次绘制线条。将下面的 ActionScript 添加到时间轴的第 1 帧:
  //把按钮的X坐标改为负数,避免显示出这三个按钮
  this.createClassObject(mx.controls.Button, "clear_button", this.getNextHighestDepth(), {_x:-110, _y:10, label:’clear’});
  this.createClassObject(mx.controls.Button, "stopDrawing_button", this.getNextHighestDepth(), {_x:-120, _y:10, label:’stop drawing’});
  this.createClassObject(mx.controls.Button, "startDrawing_button", this.getNextHighestDepth(), {_x:-230, _y:10, label:’start drawing’});
  //三个按钮都设为不可见
  clear_button.visible=false;
  stopDrawing_button.visible=false;
  startDrawing_button.visible=false;
  startDrawing_button.enabled = false;
  //下面的示例每当用户在运行时单击、拖动和松开鼠标时使用 Drawing API 绘制一个矩形。
  var thisClip:MovieClip=this.createEmptyMovieClip("canvas_mc", this.getNextHighestDepth());
  //当按下和释放鼠标时创建一个mouse监听器
  var mouseListener:Object = new Object();
  mouseListener.onMouseDown = function()
  {
  this.isDrawing = true;
  thisClip.pos1 = {x:_xmouse, y:_ymouse};
  x1=thisClip.pos1.x;
  y1=thisClip.pos1.y;
  thisClip.moveTo(x1,y1); //一定不能漏"thisClip"
  };
  mouseListener.onMouseMove = function()
  {
  thisClip.pos2 = {x:_xmouse, y:_ymouse};
  x2=thisClip.pos2.x;
  y2=thisClip.pos2.y;
  if (this.isDrawing)
  {/* 使用drawing API在舞台绘图有两种类型的图可供选择 */
  with (thisClip)
  {lineStyle(strokeWidth_ns.value 1, strokeColor_cb.selectedItem.data, 100);
  //根据不同的选择绘制直线或矩形
  switch (shape_cb.selectedItem.toLowerCase())
  {case ’直线’ :
  lineTo(x2,y2);
  break;
  case ’矩形’ :
  beginFill(fillColor_cb.selectedItem.data);
  lineTo(x2, y1);
  lineTo(x2, y2);
  lineTo(x1, y2);
  lineTo(x1, y1);
  endFill();
  break;
  }
  }
  }//结束if(this.isDrawing)语句
  updateAfterEvent();
  };
  mouseListener.onMouseUp = function() {
  this.isDrawing = false;
  };
  Mouse.addListener(mouseListener);
  var clearListener:Object = new Object();
  clearListener.click = function() {
  canvas_mc.clear();
  };
  clear_button.addEventListener("click", clearListener);
  //
  var stopDrawingListener:Object = new Object();
  stopDrawingListener.click = function(evt:Object) {
  Mouse.removeListener(mouseListener);
  evt.target.enabled = false;
  startDrawing_button.enabled = true;
  };
  stopDrawing_button.addEventListener("click", stopDrawingListener);
  var startDrawingListener:Object = new Object();
  startDrawingListener.click = function(evt:Object) {
  Mouse.addListener(mouseListener);
  evt.target.enabled = false;
  stopDrawing_button.enabled = true;
  };
  startDrawing_button.addEventListener("canvas_mc", startDrawingListener);
  this.createEmptyMovieClip("", this.getNextHighestDepth());
  canvas_mc.onRelease = function() {
  this.clear();
  };
  
  4 结束语
  
  使用Flash能快速地制作课堂中使用的课件,制作出来的课件能生动显示出教学内容,在其中增加类似板书功能的交互操作后,能大大丰富和增强了课件的教学功能,提高教学效果。
  通常采用ActionScript2.0实现交互功能,在明确需求后,如果能够研究Flash自带的示例文件和帮助,会使到制作交互功能的时候少走弯路,增强制作课件的水平。
其他文献
摘要:研究实现了一种可跨平台的视频会议系统。该系统采用了基于RIA的Flex技术,可在Windows和Linux操作系统平台下运行,其B/S结构适合在Internet上部署使用。在系统中,设计了一种基于轮播的交互策略,减小了带宽的占用,并利用服务器主动推送技术实现了即时消息和控制信息的发送。实际测试结果表明,本系统实现了系统的平台无关性,适用于在Internet上的视频会议。  关键词:视频会议;
摘要:为了保证农产品的质量安全,从而对其供应链的全过程进行有效跟踪,本文介绍了IPTV平台及其两个关键技术——视频压缩和流媒体,阐述了农产品质量安全追溯系统的追溯方法及流程,追溯机制及平台结构,并对当前依托IPTV平台的该系统进行了总结和展望。  关键词:农产品质量安全;追溯;IPTV;视频压缩;流媒体  中图分类号:TP393文献标识码:A文章编号:1009-3044(2009)22-pppp-
摘要:随着互联网的发展,电子商务己经逐渐成为人们进行商务活动的新模式。同时,电子商务的安全问题也变得越来越突出。公开密钥基础设施(Public Key Infrastructure,PKI)是实现电子商务安全的关键基础技术,是解决电子商务发展中安全问题的最可行、有效的措施。对基于PKI技术的电子商务身份认证系统进行了研究,并提出了具体的实施方案。  关键词:电子商务;身份认证;PKI;实施方案  
摘要:互联网是一把双刃剑,它给人们的生活、工作带来便利的同时也造成了诸多不安全因素,如黑客攻击、病毒肆掠、木马入侵等等。校园网作为学校重要的基础设施,肩负着教学、科研、管理和对外交流等多重角色,如何确保校园网络信息的安全,是校园网建设中的首要问题,必须花大力气解决此问题。  关键词:校园网;信息;安全  中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2012)34-8122
摘要:网络课程设计思想日趋成熟和完善,在教学实践中得到广泛利用。但网络课程的设计仍存在一些问题。本文从网络课程各个模块的可更新性和各个模块的具体设计分析,提出网络课程存在的一些问题及解决策略。  关键词:网络课程;教学设计;协作学习  中图分类号:G434文献标识码:A文章编号:1009-3044(2008)20-30386-02    The Problems and Solutions in
搞要:VFP是Microsoft公司推出的可视化数据库信息管理系统的开发工具。以数据库中表的基本操作为基础,创建视图、查询、报单、报表等,其功能强大,操作快捷方便。该文通过四个方面探讨了VFP数据库是理论与实际中的应用。  关键词:VFP;数据库;表;理论  中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)22-615-02  数据库因为具有强大的功能和灵活性,是计算
透视Pointpower教学公开课  李雪  (江苏徐州高等师范学校 现代教育系,江苏 徐州 221116)  摘要:该文是针对一堂Pointpower公开课的设计和教学体会所写,信息技术课是实践性强,信息量大的特点,结合计算机课堂教学方法的研究和实践,对一堂教学课进行剖析,从设计项目任务、创设教学情境、总结评价及反思等方面,透视“任务驱动教学法”教学的基本要点。  关键词:课件;情境;任务;学生
摘要:ERP系统是一项先进的管理工具,实质上是以业务流程为主线,对企业资源进行全面整合的高度集成和标准化的企业管理系统。其目的是在企业资源最优化配置的前提下,用来固化和优化企业的业务流程,整合企业的实时信息,加强企业管理,提升企业竞争力,以达到效率化经营的目标。本文就ERP系统应用的风险意识进行了分析和论述,并对企业应用ERP系统过程中容易产生的风险提出了相应防范和规避策略。  关键词:ERP;风
摘要:对汉诺塔游戏问题进行了研究,发现了对汉诺塔游戏用递归算法实现符合问题逻辑结构。设计了基于JSSE的递归算法实现了手动移盘和自动移盘的游戏功能。  关键词:汉诺塔;盘子问题;游戏设计  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)08-10ppp-0c    1 引言    相传在古印度的布拉玛婆罗门圣庙的僧侣在进行一种被称为汉诺塔的游戏,其装置是一块铜板,上面
摘要:结构化方法与面向对象方法是软件开发程序设计中的2个核心思想。这两种程序设计方法不仅表现为在程序语言、分析与设计上的差异,更表现在开发思想和开发视角上的差异。  关键词:软件工程;结构化;面向对象;程序设计  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)21-30451-02    In Programming Structurized Method and O