这个教程制作的鼠标代码效果很特殊,是一些带颜色的不段变换形状的一些图形。
先看鼠标代码效果。(用鼠标在动画中移动就可以看到效果)
点击这里下载源文件
制作方法。
首先新建立文档,然后按Ctrl+J修改属性。
然后在第一帧中放入下面代码。
/* 定义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();
}
};
这样设置背景715*900,然后进入QQ空间新建flash模块:把上面的flash存放到你的个人空间里,在这里输入得到的地址,拉到无限大,就可以免费享用自己做的鼠标代码了。