[AS 功能代码教程07] 百变图
2009-05-30 12:07:16 来源:WEB开发网思路:1.createEmptyMovieClip(MC),位于舞台中央,使之不断旋转;
2.用MC作载体,复制出num(150)个(p0~p149)影片,全部都依附于MC上;
3.AS中共有2个函数(function),分别为Change()和getShape():
Change():首先,获得一个随机图形编号(shape),然后为所有MC["p"+i]点设置大小及透明度,再调用getShape()获得该点的目标坐标;
getShape():根据shape编号,返回组成该图形的目标坐标;
4.用数组PS[0]存X坐标,PS[1]存Y坐标;
5.MC["p"+i].onEnterFrame:"跑"向各自的目标点.
步骤1:
绘制 10 * 10 的圆点,保存为影片剪辑,连接—>导出—>标志符"p"
步骤2:
加入AS代码:
_root.createEmptyMovieClip("MC", 10);
MC._x = 200;
MC._y = 150;
MC.onEnterFrame = function() {
this._rotation += 2;
};
var num:Number = 150;
//圆点p的个数
for (i = 0; i < num; i++) {
MC.attachMovie("p", "p"+i, i);
}
var PS:Array = new Array(2);
//PS[0]存储X坐标,PS[1]存储Y坐标.
_root.onMouseDown = function() {
Change();
//鼠标点击后变换图形
};
function Change() {
var shape = int(Math.random()*2);
//获得随机图形
for (i=0; i < num; i++) {
p = MC["p"+i];
p._xscale = p._yscale = 50 + Math.random() * 50;
p._alpha = 50 + Math.random() * 50;
getShape(shape);
p.tox = PS[0];
p.toy = PS[1];
//调用getShape()函数后,获得MC["p"+i]的X,Y目标坐标
p.onEnterFrame = function() {
this._x += 0.1 * (this.tox - this._x);
this._y += 0.1 * (this.toy - this._y);
//点MC["p"+i] 向目标坐标移动, 移动步长为0.1*(目标坐标 - 当前坐标);
//越接近目标,步长越小。最终,当前坐标=目标坐标,不再移动。
};
}
}
function getShape(shape) {
//用shape的值作为判断图形的依据
var R:Number = 100;
var angle:Number = Math.random() * 360 * Math.PI / 180;
switch (shape) {
//====================直线======================
case 0 :
PS[0] = -R + random(R * 2);
PS[1] = 0;
break;
//====================圆======================
case 1 :
PS[0] = R * Math.cos(angle);
PS[1] = R * Math.sin(angle);
break;
}
}
- ››asp.net页面弄成伪静态页面
- ››Asp.net 中将汉字转换成拼音的方法
- ››ASP.NET及JS中的cookie基本用法
- ››ASP.NET获取MS SQL Server安装实例
- ››asp.net实现调用百度pai 在线翻译英文转中文
- ››ASP.NET页面选项进行提示判断
- ››Asp.net定时执行程序
- ››ASP.NET中利用DataList实现图片无缝滚动
- ››ASP.NET验证控件RequiredFieldValidator
- ››ASP.NET中使用System.Net.Mail发邮件
- ››ASP.NET中获取用户控件中控件的ID
- ››ASP.NET中FileBytes写成文件并存档
更多精彩
赞助商链接