凸透镜成像flash
凸透镜成像基本公式(1/u+1/v=1/f)自动计算出相应的像距(v)和放大率(m
使用startDrag()stopDrag()函数来实现拉住的任意拖动,使用setProperty()getProperty()函数来控制蜡烛及成像蜡烛的具体位置。
Flash5制作凸透镜成像
                                                      文/李湘黔
  本课件为中学物理“凸透镜成像”的动画演示,通过拖动燃烧的蜡烛,改变物距,演示物体通过凸透镜所成的像,帮助学生理解凸透镜成像的特点及规律,其制作过程为:
 一、设置文件属性
 新建一个Flas件,设置文件属性,动画的尺寸(640×480像素),背景颜(蓝白渐变填充)等.
 二、制作燃烧的“蜡烛”动画片符号
 燃烧的蜡烛是由蜡烛及燃烧的火焰组成的,其中蜡烛是一个正方形,为了使其有一定的立体效果,我们为其填充红—黄—红的渐变填充.燃烧的火焰是一个近似桃形的不规则图形,为了使其具有动态的燃烧效果,我们用5帧稍有差别的关键帧制作出一个逐帧动画.
 三、创建“蜡烛—按钮”的按钮符号
 我们要用鼠标拖动蜡烛,改变蜡烛与“透镜”之间的距离,从而产生不同的物像,因此我们要将上面创建的蜡烛动画作为素材,制作成按钮,才能通过按钮动作实现所需要的效果.
 四、创建“蜡烛—动画”的动画片断符号
 只有动画片符号实例(Instance)可以被命名,并能通过“Actions”(动作)来控制其大小、位置、透明度、旋转角度等属性,所以需要用前面创建的“蜡烛—按钮”的按钮符号制作成一个动画符号,具体步骤为:
 1.插入一个名为“蜡烛—动画”的动画片断符号;
 2.打开“Library”窗口,拖一个“蜡烛—按钮”的按钮符号到符号编辑窗口,选择拖入的图形,打开“Info”面板,将x值设为W值的一半,y设置为H值,拖入的实例(Instance)底部与窗口中心点对齐.
 五、设置凸透镜和主光轴
 单击“增加层”按钮,增加图层,用“椭圆”工具设置好凸透镜,绘制一条直线表示主光轴,在直线上画一些间距相等的点表示焦点、2倍焦点等,为了方便用“Actions”语句来控制场景中的各动画,可以把主光轴最左侧点横坐标设为66,光心x坐标设为330,x轴所在位置的y坐标设为280,焦点x坐标设为275.
 六、制作凸透镜成像动画
 设计原理是根据凸透镜成像的规律而定:v(像距)=(f×u)/(u-f),b(像高)=v(像距)/u(物距),具体步骤如下:
 1.单击“增加层”按钮,增加图层,打开“Library”窗口,将两个“蜡烛—动画”的动画片段符号拖到该图层中,将右侧表示凸透镜所成的图像的蜡烛旋转180°,将其放在二倍焦距的
倍置上.
 2.选择任一层的第一帧,为其赋予“Stop”的帧动作语句.打开“实例”(Instance)面板,选择编辑区左侧的符号实例(Instance),在“Name”框中输入“ml”.选择编辑区右侧的符号实例(Instance),在“Name”框中输入“m2”.
 3.双击任意一个“蜡烛—动画”符号实例,进入“蜡烛—动画”符号编辑窗口.在蜡烛符号上单击鼠标右键,在打开的快捷菜单中选择“Actions”命令,打开“Object Actions”面板,输入如下的动作语句:
 on(press){
 startDrag(″/m1″,false,60,280,320,280);
 m1-x=getProperty(″/m1″,-x);
 rot=180
 If m1-x<275{
 setProperty(″/m2″,-rotation,180);
 u=330-getProperty(″/m1″,-x);
 f=330-275;
 v=f * u/(u-f);
 b=v/u;
 setProperty(″/m2″,-x,330,v);
 setProperty(″/m2″,-xscale,b * getProperty(″/m1″,-xscale));
 setProperty(″/m2″,-yscale,b * getProperty(″/m1″,-yscale));
 }
 If(m1-x>275 and m1-x<320){
 u=330-getProperty(″/m1″,-x);
 v=f * u/(f-u);
 b=v/u;
 setProperty(″/m2″,-x,330-v);
 setProperty(″/m2″,-xscale,b * getProperty(″/m1″,-xscale));
 setProperty(″/m2″,-yscale,b * getproperty(″/m1″,-yscale));
 setProperty(″/m2″,-alpha,getProperty(″/m1″,-alpha) * 0.4);
  setProperty(″/m2″,-rotation,rot.180);
 }
 }
 on(release){
 stopDrag();
 m1-x=getProperty(″/m1″,-x);
 If m1-x<275){
 setProperty(″/m2″,-rotation,rot.180);
 setProperty(″/m2″,-alpha,getProperty(″/m1″,-alpha));
 u=330-getProperty(″/m1″,-x);
 f=330-275;
 v=f * u/(u-f);
 b=v/u;
 setProperty(″/m2″,-x,330.v);
 setProperty(″/m2″,-xscale,b * getProperty(″/m1″,-xscale));
 setProperty(″/m2″,-yscale,b * getProperty(″/m1″,-yscale));
 }
 If m1-x>210 and m1-x<330{
 u=330-getProperty(″/m1″,-x);
 v=f * u/(u-f);
 b=v/u;
 setProperty(″/m2″,-x,330-v);
 setProperty(″/m2″,-xscale,b * getProperty(″/m1″,-xscale));
 setProperty(″/m2″,-yscale,b * getProperty(″/m1″,-yscale));
 setProperty(″/m2″,-alpha,getProperty(″/m1″,-alpha) * 0.4);
 setProperty(″/m2″,-rotation,rot.180);
 }
 }
 4.按Ctrl+Enter键,测试动画,用鼠标任意拖动左侧的蜡烛,其成像的特点一目了然.
1 概述
 
  凸透镜成像规律是高中阶段学习的一个重点和难点内容,当物体的位置发生变化时,物体所成像的位置、大小和形态(倒立或正立)也会同时发生变化。利用Flash MX动作脚本语言实现的强大交互功能,可实现在课件中用蜡烛作为实验物体,当使用者用鼠标拖动蜡烛时,该蜡烛所成的像会随之发生变化,表现真实准确的实验过程,使学生能够在较短时间内掌握凸透镜的成像规律,获得理想的教学效果。
 
  2 制作课件场景(背景和标题)
 
  1)在flash MX中新建一个空白文件,插入2个图层,自下而上命名3个图层为背景”“标题”“动画
  2)用矩形工具,在背景绘制2个相同的浅蓝矩形。
  3)在标题层输入高中物理课件”“凸透镜成像规律等文字。
 
  3 制作元件
 
  3.1 制作火焰元件
  1)按Ctrl+F8,在弹出的创建新元件对话框中,设置名称火焰行为影片剪辑,单击确定,进入该元件的编辑窗口。
  2)单击工具栏的铅笔工具并选择平滑模式;设置笔触颜为黑,在舞台中央绘制火焰图形轮廓,设置填充样式放射状,为火焰图形填充红橙渐变,最后删除火焰的边框线。如图1所示。
 
  3)连续按F64次插入4个关键帧,这几个关键帧的内容与第1帧的相同;分别在第2、第3、第4、第5关键帧上使用箭头工具并拖动鼠标来改变火焰图形的形状,使各关键帧上火焰图形略有不同。按“Enter”键可预览火焰的动态效果。
 
  3.2 制作蜡烛元件
  1)选择插入”→“新建元件菜单命令,创建 一个名称为蜡烛影片剪辑元件。
  2)单击工具栏中的椭圆工具”“矩形工具绘制一个圆柱形并填充线形渐变,作为蜡烛的柱体。
  3)单击工具栏中的线条工具,设置笔触颜为黑,笔触高度2,在蜡烛上端绘制一条短的竖线,作为蜡烛的烛芯。
  4)按F11键打开面板,将库中的火焰元件拖到烛芯上,调整其大小,使其与蜡烛图形的尺寸相匹配,如图2所示。蜡烛元件制作完成。
 
  3.3 制作凸透镜成像元件
  1)选择插入”→“新建元件菜单命令,创建 名称为凸透镜成像的影片剪辑元件。
 
  2)将该元件的图层1的名称改为主轴,再插入两个图层并分别命名为凸透镜”“蜡烛。选择查看”→“标尺菜单命令,在舞台显示水平标尺和垂直标尺。拖出一条水平辅助线,使该
辅助线与垂直标尺的0刻度线对齐;从垂直标尺上拖出5条垂直辅助线,分别对齐水平标尺上的120(左)、60(左)、060(右)、和120(右)刻度。
  3)在主轴图层绘制一条与水平辅助线重合,笔触高度2的黑的水平线,作为凸透镜的主轴。在主轴上标注焦距和二倍焦距(如图3所示),锁定该图层。
  4 凸透镜图层绘制一个较窄的无边框的椭圆并填充淡蓝放射状渐变,作为凸透镜(如图4flash按钮制作所示),锁定该图层。
  5)从面板中,将元件蜡烛拖动到蜡烛图层,并置于舞台上凸透镜图形的左侧,在属性面板上设置实例名称candle
 
  6)单击蜡烛图层的第2帧,在动作面板中,在该面板右侧的脚本窗格中输入以下的动作语句:
  duplicateMovieClip(candle,“candle1”,1)//复制影片剪辑实例candle1
  7)选中蜡烛图形,在动作面板中,设置编辑状态为专家模式;在该面板中编辑窗格中,输入以下动作语句:
  on(press){
  startDrag(this,false,-1000,0,-15,0);
  }
  on(release){
  stopDrag();
  }
  onClipEvent(load){
  f=60;
  _x=-2*f;
  _y=0;
  }
  onClipEvent(enterFrame){
  with(_parent.candle1){
  u=math.abs(this._x);
  v=f*u/(u-f);
  _x=v;
  if(u
  _alpha=40;
  _rotation=0;
  }else{
  _alpha=100;
  _rotation=180;
  }
  m=math.abs(v)/u;
  mk=math.sqrt(m)*100;
  _xscale=mk;
  _yscale=mk;
  }
  }
  8)单击舞台左上角的场景1”按钮,回到主场景,单击动画图层的第1帧然后将面板上的元件凸透镜成像拖到舞台的中央;在标题文字图层的第1帧,输入文本请拖动蜡烛
进行实验
  9)锁定各图层,保存文件,按Ctrl+Enter键,预览课件的播放效果(如图5所示),全部操作完成。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。