注意:将场景设为300*300 然后直接在第一帧加入AS_root.createEmptyMovieClip("MC", 1);
MC._x = 150;
MC._y = 150;
MC._xscale = 40;
MC._yscale = 40;
R = 200;
f = 1500;
n = 0;
que = 8;
gou = 18;
d = que*gou;
var myarry:Array = new Array();
for (var j = 1; j<=que; j++) {
for (var i = 1; i<=gou; i += 1) {
n++;
var r = Math.sin((180-10)/que*j*Math.PI/180)*R;
MC.createEmptyMovieClip("b"+n, n);
MC["b"+n].x = r*Math.cos(360/gou*i*Math.PI/180);
MC["b"+n].y = R*Math.cos(180/que*j*Math.PI/180);
MC["b"+n].z = r*Math.sin(360/gou*i*Math.PI/180);
myarry.push(MC["b"+n]);
MC["b"+n].n = n;
MC["b"+n].kk = function(a) {
if (this.n<=d-gou) {
kkk(this.n);
}
x0 = this.x;
y0 = this.y;
z0 = this.z;
x1 = x0;
y1 = Math.cos(a)*y0-Math.sin(a)*z0;
z1 = Math.sin(a)*y0+Math.cos(a)*z0;
x2 = Math.cos(a)*z1-Math.sin(a)*x1;
y2 = y1;
z2 = Math.sin(a)*z1+Math.cos(a)*x1;
f1 = f/(f+z2);
this._x = x2*f1;
this._y = y2*f1;
this.swapDepths(Math.floor(1000-z2));
this._alpha = 40+60*(1-z2/200);
};
}
}
p = 0;
onEnterFrame = function () {
p += Math.PI/180;
for (var n = 0; n<myarry.length; n += 1) {
myarry[n].kk(p);
}
};
function kkk(w) {
if (w%gou == 0) {
var p1 = {x:MC["b"+w]._x, y:MC["b"+w]._y};
var p2 = {x:MC["b"+(w-(gou-1))]._x, y:MC["b"+(w-(gou-1))]._y};
var p3 = {x:MC["b"+(w+1)]._x, y:MC["b"+(w+1)]._y};
var p4 = {x:MC["b"+(w+gou)]._x, y:MC["b"+(w+gou)]._y};
} else {
var p1 = {x:MC["b"+w]._x, y:MC["b"+w]._y};
var p2 = {x:MC["b"+(w+1)]._x, y:MC["b"+(w+1)]._y};
var p3 = {x:MC["b"+(w+gou+1)]._x, y:MC["b"+(w+gou+1)]._y};
var p4 = {x:MC["b"+(w+gou)]._x, y:MC["b"+(w+gou)]._y};
}
MC.localToGlobal(p1);
MC.localToGlobal(p2);
MC.localToGlobal(p3);
MC.localToGlobal(p4);
myarry[w-1].globalToLocal(p1);
myarry[w-1].globalToLocal(p2);
myarry[w-1].globalToLocal(p3);
myarry[w-1].globalToLocal(p4);
myarry[w-1].clear();
myarry[w-1].lineStyle(4, 0xff00ff, 80);
if (Math.ceil(w/gou)%2 == 1) {
w%2 == 0 ? se=0xcc0000 : se=0xccffcc;
} else {
w%2 == 0 ? se=0xccffcc : se=0xcc0000;
}
myarry[w-1].beginFill(se, 100);
myarry[w-1].moveTo(p1.x, p1.y);
myarry[w-1].lineTo(p2.x, p2.y);
myarry[w-1].lineTo(p3.x, p3.y);
myarry[w-1].lineTo(p4.x, p4.y);
myarry[w-1].lineTo(p1.x, p1.y);
}