达达首页 | 设计教程 | 辅助工具 | 字体字库 | 素材贴图 | 非 主 流 | PS 笔刷 | 签名模版 | 网页模版 | 达达贴吧
设为首页

加入收藏

联系我们
PhotoShop 教程 | Illustrator 教程 | CorelDraw 教程 | FireWorks 教程 | 3D MAX 教程 | MAYA 教程 | Flash 教程 | After Effects 教程
相关教程
普通教程 用Flash 8 制作简单…
普通教程 Flash8制作一个效果…
普通教程 Flash常见动画制作分…
普通教程 Flash制作四种3D隧道…
普通教程 露一小手闪晕你——…
普通教程 Flash8简单制作飞速…
普通教程 Flash制作好看的影片…
普通教程 Flash制作星星写字特…
普通教程 如何在FLASH中实现眨…
普通教程 Flash动画技巧:人侧…
最新更新

Photoshop结合Fla…

Photoshop结合Fla…

Photoshop结合Fla…

Flash绘画技巧:绘…
您现在的位置: 达达派 >> 教程中心 >> FLASH教程 >> 动画篇 >> 教程正文
Flash轻松实现五彩变换多边形鼠标轨迹特效
作者:佚名 文章来源:网络采集 点击数: 更新时间:2007-6-30 23:46:11
教程录入:猩猩    责任编辑:猩猩  添加到雅虎收藏+
本教程完全是利用Flash 的Action Script指令来实现了!利用Flash画图大家已经知道了!这个教程就当给大家复习一下Flash Actionscript的绘图功能吧!

  这个教程制作的鼠标跟随效果很特殊,是一些带颜色的不段变换形状的一些图形。

  先看效果。(用鼠标在动画中移动就可以看到效果)

点击这里下载源文件

  制作方法。

  首先新建立文档,然后按Ctrl+J修改属性。

Flash轻松实现五彩变换多边形鼠标轨迹特效

然后在第一帧中放入下面代码。

/* 定义5个全局变量 */
var time:Number = 0;
var timeMin:Number = 100;
var alphaDrop:Number = 2;
var growBy:Number = 2;
var rotateByMax:Number = 10;

/* 转变弧度的函数 */
function deg2rad(degrees:Number):Number {
  return degrees * Math.PI / 180;
}
 
/* 返回最大值和最小值之间的一个数 */
function randRange(min:Number, max:Number):Number {
  var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
  return randomNum;
}

/* 绘制规则多边形,设置颜色、大小、半径 */
function drawPoly(sides:Number, color:Number, radius:Number):MovieClip {
  var depth:Number = _root.getNextHighestDepth();
  var poly_mc:MovieClip = _root.createEmptyMovieClip("poly" + depth, depth);
  var unitAngle = deg2rad(360 / sides); 
 
  poly_mc.beginFill(color);
  poly_mc.moveTo(radius, 0);
  for (var i:Number = 1; i < sides; i++) {
    var turn:Number = unitAngle * i;
    var dx:Number = Math.cos(turn) * radius;
    var dy:Number = Math.sin(turn) * radius;
    poly_mc.lineTo(dx, dy);
  }
  poly_mc.endFill();
 
  return poly_mc;
}

/* 初始化一个影片剪辑 */
function initPoly():Void {
  this._x = _xmouse;
  this._y = _ymouse;
  this._xscale = this._yscale = 0;
  this.rotateBy = randRange(-rotateByMax, rotateByMax);
 
  this.onEnterFrame = function():Void {
    this._xscale = this._yscale += growBy;
    this._alpha -= alphaDrop;
    this._rotation += this.rotateBy;
 
    if (this._alpha < 0) {
      this.removeMovieClip();
    }
  };
}

/* 主程序 */
onMouseMove = function():Void {
  if (getTimer() - time > timeMin) {
    initPoly.apply(drawPoly(randRange(3, 12), randRange(0, 0xFFFFFF), 100));
    time = getTimer();
  }
};

  最后按Ctrl+Enter测试!看效果如何?是不是很神奇啊!赶快学习Flash的Actionscript吧!很厉害哦!

  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    关于我们 | 帮助(?) | 广告服务 | 版权声明 | 商业合作 | 发展历程 | 联系我们

    Copyright ? 2005-2008 CGFancy.com, All Rights Reserved,达达网络:陕ICP备06010337号

    技术交流:71125455(平面)、545534707(三维),业务合作:71125455