快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

三种鼠标跟随效果动画的实现

  先看效果

http://www.flash8.net/bbs/UploadFile/2005-6/200562412045497.swf

« Full Screen »


因为全是as编写的,所以我就不放源文件了,只要把as代码复制到flash里的第一帧就可以了

Stage.scaleMode = "noScale"
Stage.align = "TL"
for (i=1; i<=4; i++) {
_root.createEmptyMovieClip("point"+i, 0-i);//新建MC
//mc的x轴,y轴
_root["point"+i]._x = Stage.width/2;
_root["point"+i]._y = Stage.height/2;
//鼠标划过的效果
_root["point"+i].onMouseMove = function() {
this._x = _root._xmouse+(Math.random()*70)-35;
this._y = _root._ymouse+(Math.random()*70)-35;
};
}
//设定一个颜色组
hexColors = new Array("0xCC00FF", "0xCC33FF", "0xCC66FF", "0xCC99FF", "0xCCCCFF", "0xCCFFFF");
//鼠标划过时新建mc,并随机填充颜色和随机设alpha值
this.onMouseMove = function() {
i++;
this.createEmptyMovieClip("shape"+i, i *10);
with (this["shape"+i]) {
beginFill(hexColors[Math.floor(Math.random()*hexColors.length)], (Math.random()*40)+60);
//执行画线程序
moveTo(_root.point1._x, _root.point1._y);
curveTo(_root.point2._x, _root.point2._y, _root.point3._x, _root.point3._y);
curveTo(_root.point4._x, _root.point4._y, _root.point1._x, _root.point1._y);
endFill();
}
//复制当前mc,设X,Y轴,alpha值,并填充颜色,做为阴影。
this["shape"+i].duplicateMovieClip("shadow"+i, (10*i)-1);
this["shadow"+i]._x = this["shape"+i]._x -6;
this["shadow"+i]._y = this["shape"+i]._y + 6;
this["shadow"+i]._alpha = 60;
this.grey = new Color(this["shadow"+i]);
this.grey.setRGB("0x999999");
};

只做了简朴的解释,适合有as基础的朋友学习

Stage.scaleMode = "noScale";
Stage.align = "TL";
for (i=1; i<=4; i++) {
_root.createEmptyMovieClip("point"+i, 0-i);
//新建MC
//mc的x轴,y轴
_root["point"+i]._x = Stage.width/2;
_root["point"+i]._y = Stage.height/2;
//鼠标划过的效果
_root["point"+i].onMouseMove = function() {
this._x = _root._xmouse+(Math.random()*70)-35;
this._y = _root._ymouse+(Math.random()*70)-35;
};
}
//设定一个颜色组
hexColors = new Array("0xCC00FF", "0xCC33FF", "0xCC66FF", "0xCC99FF", "0xCCCCFF", "0xCCFFFF");
//鼠标划过时新建mc,并随机填充颜色和随机设alpha值
this.onMouseMove = function() {
i++;
this.createEmptyMovieClip("shape"+i, i*10);
with (this["shape"+i]) {
beginFill(hexColors[Math.floor(Math.random()*hexColors.length)], (Math.random()*40)+60);
//执行画线程序
moveTo(_root.point1._x, _root.point1._y);
curveTo(_root.point2._x, _root.point2._y, _root.point3._x, _root.point3._y);
curveTo(_root.point4._x, _root.point4._y, _root.point1._x, _root.point1._y);
endFill();
}
//复制当前mc,设X,Y轴,alpha值,并填充颜色,做为阴影。
this["shape"+i].duplicateMovieClip("shadow"+i, (10*i)-1);
this["shadow"+i]._x = this["shape"+i]._x-6;
this["shadow"+i]._y = this["shape"+i]._y+6;
this["shadow"+i]._alpha = 60;
this.grey = new Color(this["shadow"+i]);
this.grey.setRGB("0x999999");
};
//加了一段删除的
var ii:Number = 6;
function del() {
if (_root["shape"+ii]) {
_root["shape"+ii].removeMovieClip();
_root["shadow"+ii].removeMovieClip();
ii++;
}
}
setInterval(del, 10);

  效果如下:

http://www.flash8.net/bbs/UploadFile/2005-6/200562418334546.swf

« Full Screen »



原来的其实更好看,越改越不好看了

import mx.transitions.Tween;
import mx.transitions.easing.*;
var i:Number = 0;
var mcname:Number = 0;
var x:Number = _xmouse, y:Number = _ymouse;
var rgb:Array = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F");
var mousemove:Object = new Object();
mousemove.onMouseMove = function() {
fline();
};
function fline() {
var a:Number = Math.floor(Math.random()*16);
var b:Number = Math.floor(Math.random()*16);
var c:Number = Math.floor(Math.random()*16);
var d:Number = Math.floor(Math.random()*16);
var e:Number = Math.floor(Math.random()*16);
var f:Number = Math.floor(Math.random()*16);
var g:Number = Math.floor(Math.random()*6);
this.createEmptyMovieClip("line"+i, i);
mycolor = new Color(this["line"+i]);
mycolor.setRGB("0x"+rgb[a]+rgb[b]+rgb[c]+rgb[d]+rgb[e]+rgb[f]);
with (this["line"+i]) {
lineStyle(g, 0x0000, 100);
moveTo(x, y);
lineTo(_xmouse, _ymouse);
}
x = _xmouse;
y = _ymouse;
mcname_mc = this["line"+i];
i++;
}
setInterval(enterframes, 10);
function enterframes() {
if (_root["line"+mcname]) {
fdown(_root["line"+mcname]);
mcname++;
}
}
function fdown(mc_mc:MovieClip) {
var i:Number = mc_mc._y;
down = new Tween(mc_mc, "_y", Elastic.easeIn, i, i+200, 1, true);
down.onMotionStopped = function() {
mc_mc.removeMovieClip();
};
}
Mouse.addListener(mousemove);


原来的:
import mx.transitions.Tween;
import mx.transitions.easing.*;
var i:Number = 0;
var mcname:Number = 0;
var x:Number = _xmouse, y:Number = _ymouse;
var mousemove:Object = new Object();
mousemove.onMouseMove = function() {
fline();
};
function fline() {
var a:Number = Math.random()*5;
var b:Number = Math.random()*100;
this.createEmptyMovieClip("line"+i, i);
with (this["line"+i]) {
lineStyle(1, 0x0000, 100);
moveTo(x, y);
lineTo(_xmouse, _ymouse);
}
x = _xmouse;
y = _ymouse;
mcname_mc = this["line"+i];
i++;
}
setInterval(enterframes, 10);
function enterframes() {
if (_root["line"+mcname]) {
fdown(_root["line"+mcname]);
mcname++;
}
}
function fdown(mc_mc:MovieClip) {
var i:Number = mc_mc._y;
down = new Tween(mc_mc, "_y", Elastic.easeIn, i, i+200, 1, true);
down.onMotionStopped = function() {
mc_mc.removeMovieClip();
};
}
Mouse.addListener(mousemove);

  效果如下:

http://www.flash8.net/bbs/UploadFile/2005-6/20056240037515.swf

« Full Screen »




返回类别: Flash教程
上一教程: Flash5 画任意直线教程
下一教程: Flash 网页新闻浮动板的制作(XML应用)

您可以阅读与"三种鼠标跟随效果动画的实现"相关的教程:
· 有趣的Flash鼠标跟随效果
· 菜鸟入门:发光效果动画的制作
· Flash+Photoshop实现图片模糊效果动画
· 用AS来实现飘雪效果动画
· Flash轻松实现QQ翻滚效果动画
    微笑服务 优质保证 索取样品