flash实例教程:三角函数正弦曲线-Flash实例教程

2016-03-18 15:40 168 1 收藏

下面图老师小编跟大家分享flash实例教程:三角函数正弦曲线-Flash实例教程,一起来学习下过程究竟如何进行吧!喜欢就赶紧收藏起来哦~

【 tulaoshi.com - FLASH 】

  用Flash mx 2004制作三角函数图像生成器非常简单,这里我们就用正弦曲线为例子,看一看在flash中如何实现函数图像的。

  先来分析一下这个生成器的功能,在程序主界面的输入框中,输入相应的振幅、频率或初相值,然后按下sin按钮,会出现坐标轴和一条动态生成的函数曲线,如果修改了相应的输入值,生成器又会在原来的图像基础上再生成一条不同颜色函数曲线,这样更容易使人了解不同的值造成的函数图像的变化,从而能够使用户更清楚的了解这个三角函数公式的各项的含义。文章末尾提供.fla文件供大家下载参考。

  完成效果如下,大家可以根据上面的描述动手试试课件的实际效果:

  制作这个sin函数图像生成器的具体步骤如下:

  第一步,制作元件

  在这个生成器中共需要四个元件。两个按钮元件,一个是开始生成按钮sin,一个是清除图像按钮清除;两个影片剪辑,一个剪辑中用铅笔工具在编辑区中央画一个点,因为在使用中要大量复制这个点,使点连成函数曲线用的,所以要大小合适,另一个影片剪辑中画上平面直角坐标系。

  第二步,设计场景界面

  场景上先放置三个输入文本框,这是用来输入不同数值的。文本框左边用静态文本标识三个输入文本框的作用,从上至下依次是,振幅,频率和初相,这三输入文本框的变量名至上而下依次是hight、freq、c。然后把sin、清除这两个按钮从库中拖动到合适位置。在右边用静态文本写出Y =空格sin(空格X+空格),然后在空格处放置三个动态文本框,用于显示所输入三角函数的具体公式,三个动态文本框的变量名称从左至右分别是QQ、ww、ee。这些就构成了这个图像生成器的主要界面。

  第三步、加入代码

  在这个生成器中,一共需要六层四帧,层数可以根据需要修改。

  第一层是背景层。
  第二层是坐标层,在该层的第二帧插入关键帧,然后在该帧拖入坐标元件,放在场景外的区域中,该元件的实例名称叫做zuobiao。
  第三层中将点元件拖进来,实例名称是point1;第四层是代码层,用于编写程序,这一层的四帧全部转换成关键帧。
  剩下的两层用来放置按钮和上一步提到的各种文本框。
  多分几层可以方便以后的修改,所以在做flash的时候应该注意这个细节,不要把所有的内容都塞到一个层里。

  

  接下来开始写一点生成函数曲线的代码,注意我们要把所有的代码都写在代码层里。

  第一帧代码:

  k=20000;       //设置部分变量的初始值
  j=0;,

  第二帧代码:

  i = 0;
  draw = 1;
  j=j+1;      //定义变量
  duplicateMovieClip("point1", "point",67778);
  setProperty("point", _x, 320);
  setProperty("point", _y, 240);   //把场景外面的点剪辑point1复制成一个//名为point的剪辑置于场景中央
  xpos = _root.point._x;
  duplicateMovieClip("zuobiao", "zuobiao1",1);
  setProperty("zuobiao", _x,220);
  setProperty("zuobiao", _y,240);//把场景外面的坐标剪辑zuobiao复制成一个//名为zuobiao1的剪辑置于场景中央
  xpos = _root.point._x;
  ypos = _root.point._y;
  stop();


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

  第三帧代码:

     do { //通过循环,大量复制point,通过sin 函数的约束,//使这些点分布在合理曲线上形成正弦曲线
       duplicateMovieClip("point", "point"+i, k);
       setProperty("point"+i, _x, i-22);
       xx = getProperty("point"+i, _x);
       setProperty("point"+i, _y,ypos-hight*Math.PI*10*func((xx/(Math.PI*10))*freq));
       v=c % (2*Math.PI);
     setProperty("point"+i, _x, i-(v*Math.PI*10)-196);
     bodyColor = new Color("point"+i);   //使每次按下sin按钮后生成的曲线颜色有所//区别,这样可以使曲线分辨起来更清晰
       r = (j%5) +1;
       if(r == 1) {
         bodyColor.setTransform({rb: 255,bb:0,gb:0});
      }
      else if (r == 2) {
        bodyColor.setTransform({gb: 255,rb:0,bb:0});
      }
      else if(r == 3) {
         bodyColor.setTransform({rb: 255,gb: 255,bb:0});
      }else if (r == 4) {
         bodyColor.setTransform({gb: 255,bb: 255,rb:0});
       } else {
        bodyColor.setTransform({bb: 255,rb:255,gb:255});
      }
      i = i+1;
      k++;
      draw = draw+1;
  } while (draw=20);

  第四帧代码:

  if (number(i)=1060) {//给循环一个约束条件,是程序在适当的时候停止
        gotoAndPlay(2);
        k-=2400;  
  } else {
          draw = 1;
         gotoAndPlay(3);
  }

  sin按钮的代码:

     on (release) {         // 按下按钮后主界面显示生成正弦曲线的具体公式,//并开始生成执行函数生成曲线。
     QQ=hight;
       ww=freq;
       ee=c;
      func = Math.sin;
      gotoAndPlay(3);
  }

  清除按钮的代码

  on (release) {               //清除所有已经出现的曲线
      for (n=0;n=1www.tulaoshi.com060;n++)
      {removeMovieClip("point"+n);
  //   k+=2400;
      };
  }

  这个生成器程序在flash mx 2004 和flash mx 两个版本中均可以正常运行。在编写时因为考虑可能并不十分周到,所以有些数值在其他的环境下需要修改。 .fla文件下载

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

来源:https://www.tulaoshi.com/n/20160318/1887814.html

延伸阅读
标签: 电脑应用
本例为用Flash AS3.0制作时钟的实例教程,为Flash AS入门教程第八课的延伸教程,希望能给朋友们带来帮助。 AS3.0实例教程二-时钟的制作 效果: 虽然制作时钟老套了点,但它确可以较全面地应用到时间日期和间隔等知识,仍不失为较好的入门练习。 一. AS3.0时间日期简介 时间和日期主...
标签: FLASH flash教程
本例介绍使用Flash绘制写真苹果,教程写的比较详细,对新手学习Flash鼠绘有很大帮助,希望朋友们喜欢~~ 先看效果:   新建文档,数值默认 一、苹果元件1 1、新建图形元件,命名:苹果1 2、填充色禁止,笔触色任意,用椭圆工具画圆,选择工具调成苹果的外形,调整不了的地方配合alt或者ctrl键打结点再调。 选中它,ctrl+...
许久没有动手写教程,因为觉得从技法到结构以及动画思维以及镜头感表现之前的分享都已经有较多讲解,再写难免有重复。但是单单发个成品出来分享也许还是会有同学关心一些制作过程和技巧,罗嗦就啰嗦吧,难得这个周末在家困着没事可干。
标签: FLASH flash教程
这个Flash实例制作了一个可爱的小青蛙时钟动画,用到了Flash的基本绘图工具如椭圆、矩形、直线和任意变形等,操作简洁易懂,适合练习。先看下效果吧: 效果图: 制作步骤: 1、新建一个Flash文档,Ctrl+F8新建一个元件,命名为clock。选择椭圆工具,设笔触为黑色,填充为绿色,按住Shift键画出一个正圆。   图01 2、Ctrl+...
标签: FLASH flash教程
poluoluo核心提示:之前见有一些网友提到过此类问题,也有人讨论过了,大致原理就是坐标数据,然后根据点坐标去判断笔画,然后生成字符。最近无聊就尝试去试试,因为手写输入,难点就是根据数据生成笔画这,可惜我是前端的,后台数据不是太了解,所以就打算研究下现在网站上比较通用的fla 之前见有一些网友提到过此类问题,也有人讨论过...

经验教程

656

收藏

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