/**
* Copyright Nos_lkSsvOhB ( http://wonderfl.net/user/Nos_lkSsvOhB )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/i9HU
*/
package {
import flash.display.Sprite;
public class FlashTest extends Sprite {
public function FlashTest() {
// write as3 code here..
function Make3D(TargetMC, ModelName) {
Targ3D = TargetMC;
Point = new Array();
Polygon = new Array();
Objct2D = new Array();
Point3D = new Array();
Rotate = new Array();
switch (ModelName) {
case 'Model1':
_quality = 'HIGH';
Point.A = { x : 0, y : 153.884, z : 0};
Point.B1 = { x : 80.90, y : 111.35, z : 0};
Point.B2 = { x : 24.30, y : 111.35, z : 76.94};
Point.B3 = { x : -65.45, y : 111.35, z : 47.55};
Point.B4 = { x : -65.45, y : 111.35, z : -47.55};
Point.B5 = { x : 24.30, y : 111.35, z : -76.94};
Point.C1 = { x : -137.64, y : 68.82, z : 0};
Point.C2 = { x : -42.53, y : 68.82, z : -130.90};
Point.C3 = { x : 111.35, y : 68.82, z : -80.90};
Point.C4 = { x : 111.35, y : 68.82, z : 80.90};
Point.C5 = { x : -42.53, y : 68.82, z : 130.90};
Point.D1 = { x : 137.64, y : 26.29, z : 0};
Point.D2 = { x : 42.53, y : 26.29, z : 130.90};
Point.D3 = { x : -111.35, y : 26.29, z : 80.90};
Point.D4 = { x : -111.35, y : 26.29, z : -80.90};
Point.D5 = { x : 42.53, y : 26.29, z : -130.90};
Point.E1 = { x : -137.64, y : -26.29, z : 0};
Point.E2 = { x : -42.53, y : -26.29, z : -130.90};
Point.E3 = { x : 111.35, y : -26.29, z : -80.90};
Point.E4 = { x : 111.35, y : -26.29, z : 80.90};
Point.E5 = { x : -42.53, y : -26.29, z : 130.90};
Point.F1 = { x : 137.64, y : -68.82, z : 0};
Point.F2 = { x : 42.53, y : -68.82, z : 130.90};
Point.F3 = { x : -111.35, y : -68.82, z : 80.90};
Point.F4 = { x : -111.35, y : -68.82, z : -80.90};
Point.F5 = { x : 42.53, y : -68.82, z : -130.90};
Point.G1 = { x : -80.90, y : -111.35, z : 0};
Point.G2 = { x : -24.30, y : -111.35, z : -76.94};
Point.G3 = { x : 65.45, y : -111.35, z : -47.55};
Point.G4 = { x : 65.45, y : -111.35, z : 47.55};
Point.G5 = { x : -24.30, y : -111.35, z : 76.94};
Point.H = { x : 0, y : -153.884, z : 0};
var b2 = { Color : 0x00FFFF , Alpha : 60};
var b3 = { Color : 0x00FF00 , Alpha : 60};
var b4 = { Color : 0x0000FF , Alpha : 60};
var b5 = { Color : 0xFFFF00 , Alpha : 60};
var b6 = { Color : 0x00FFFF , Alpha : 60};
var b7 = { Color : 0xFF00FF , Alpha : 60};
var b1 = { Color : 0xffffff , Alpha : 100, Pixel : 2};
Polygon.t1 = { Point : 'A,B1,C4,B2' , Shape : b2, Line : b1};
Polygon.t2 = { Point : 'A,B2,C5,B3' , Shape : b2, Line : b1};
Polygon.t3 = { Point : 'A,B3,C1,B4' , Shape : b2, Line : b1};
Polygon.t4 = { Point : 'A,B4,C2,B5' , Shape : b2, Line : b1};
Polygon.t5 = { Point : 'A,B5,C3,B1' , Shape : b2, Line : b1};
Polygon.t6 = { Point : 'B1,C3,D1,C4' , Shape : b2, Line : b1};
Polygon.t7 = { Point : 'B2,C4,D2,C5' , Shape : b2, Line : b1};
Polygon.t8 = { Point : 'B3,C5,D3,C1' , Shape : b2, Line : b1};
Polygon.t9 = { Point : 'B4,C1,D4,C2' , Shape : b2, Line : b1};
Polygon.t10 = { Point : 'B5,C2,D5,C3' , Shape : b2, Line : b1};
Polygon.t11 = { Point : 'D1,F1,E4,C4' , Shape : b2, Line : b1};
Polygon.t12 = { Point : 'C4,E4,F2,D2' , Shape : b2, Line : b1};
Polygon.t13 = { Point : 'D2,F2,E5,C5' , Shape : b2, Line : b1};
Polygon.t14 = { Point : 'C5,E5,F3,D3' , Shape : b2, Line : b1};
Polygon.t15 = { Point : 'D3,F3,E1,C1' , Shape : b2, Line : b1};
Polygon.t16 = { Point : 'C1,E1,F4,D4' , Shape : b2, Line : b1};
Polygon.t17 = { Point : 'D4,F4,E2,C2' , Shape : b2, Line : b1};
Polygon.t18 = { Point : 'C2,E2,F5,D5' , Shape : b2, Line : b1};
Polygon.t19 = { Point : 'D5,F5,E3,C3' , Shape : b2, Line : b1};
Polygon.t20 = { Point : 'C3,E3,F1,D1' , Shape : b2, Line : b1};
Polygon.t21 = { Point : 'G4,F1,E4,F2' , Shape : b2, Line : b1};
Polygon.t22 = { Point : 'G5,F2,E5,F3' , Shape : b2, Line : b1};
Polygon.t23 = { Point : 'G1,F3,E1,F4' , Shape : b2, Line : b1};
Polygon.t24 = { Point : 'G2,F4,E2,F5' , Shape : b2, Line : b1};
Polygon.t25 = { Point : 'G3,F5,E3,F1' , Shape : b2, Line : b1};
Polygon.t26 = { Point : 'H,G3,F1,G4' , Shape : b2, Line : b1};
Polygon.t27 = { Point : 'H,G4,F2,G5' , Shape : b2, Line : b1};
Polygon.t28 = { Point : 'H,G5,F3,G1' , Shape : b2, Line : b1};
Polygon.t29 = { Point : 'H,G1,F4,G2' , Shape : b2, Line : b1};
Polygon.t30 = { Point : 'H,G2,F5,G3' , Shape : b2, Line : b1};
Rate3D = 400;
GetRotate = function () {
// Rotate.x = mou._x / 10;
// Rotate.y = mou._y / 10;
Rotate.x = Targ3D._xmouse / 10;
Rotate.y = Targ3D._ymouse / 10;
// Rotate.x = 2; //Targ3D._xmouse / 100;
// Rotate.y = 2; //Targ3D._ymouse / 100;
};
break;
case 'Model2':
_quality = 'HIGH';
Point.A = { x : 0, y : 153.884, z : 0};
Point.B1 = { x : 80.90, y : 111.35, z : 0};
Point.B2 = { x : 24.30, y : 111.35, z : 76.94};
Point.B3 = { x : -65.45, y : 111.35, z : 47.55};
Point.B4 = { x : -65.45, y : 111.35, z : -47.55};
Point.B5 = { x : 24.30, y : 111.35, z : -76.94};
Point.C1 = { x : -137.64, y : 68.82, z : 0};
Point.C2 = { x : -42.53, y : 68.82, z : -130.90};
Point.C3 = { x : 111.35, y : 68.82, z : -80.90};
Point.C4 = { x : 111.35, y : 68.82, z : 80.90};
Point.C5 = { x : -42.53, y : 68.82, z : 130.90};
Point.D1 = { x : 137.64, y : 26.29, z : 0};
Point.D2 = { x : 42.53, y : 26.29, z : 130.90};
Point.D3 = { x : -111.35, y : 26.29, z : 80.90};
Point.D4 = { x : -111.35, y : 26.29, z : -80.90};
Point.D5 = { x : 42.53, y : 26.29, z : -130.90};
Point.E1 = { x : -137.64, y : -26.29, z : 0};
Point.E2 = { x : -42.53, y : -26.29, z : -130.90};
Point.E3 = { x : 111.35, y : -26.29, z : -80.90};
Point.E4 = { x : 111.35, y : -26.29, z : 80.90};
Point.E5 = { x : -42.53, y : -26.29, z : 130.90};
Point.F1 = { x : 137.64, y : -68.82, z : 0};
Point.F2 = { x : 42.53, y : -68.82, z : 130.90};
Point.F3 = { x : -111.35, y : -68.82, z : 80.90};
Point.F4 = { x : -111.35, y : -68.82, z : -80.90};
Point.F5 = { x : 42.53, y : -68.82, z : -130.90};
Point.G1 = { x : -80.90, y : -111.35, z : 0};
Point.G2 = { x : -24.30, y : -111.35, z : -76.94};
Point.G3 = { x : 65.45, y : -111.35, z : -47.55};
Point.G4 = { x : 65.45, y : -111.35, z : 47.55};
Point.G5 = { x : -24.30, y : -111.35, z : 76.94};
Point.H = { x : 0, y : -153.884, z : 0};
var b2 = { Color : 0x00FFFF , Alpha : 60};
var b3 = { Color : 0x00FF00 , Alpha : 60};
var b4 = { Color : 0x0000FF , Alpha : 60};
var b5 = { Color : 0xFFFF00 , Alpha : 60};
var b6 = { Color : 0x00FFFF , Alpha : 60};
var b7 = { Color : 0xFF00FF , Alpha : 60};
var b1 = { Color : 0x000000 , Alpha : 100, Pixel : 2};
Polygon.t1 = { Point : 'A,B1,C4,B2' , Shape : b2, Line : b1};
Polygon.t2 = { Point : 'A,B2,C5,B3' , Shape : b2, Line : b1};
Polygon.t3 = { Point : 'A,B3,C1,B4' , Shape : b2, Line : b1};
Polygon.t4 = { Point : 'A,B4,C2,B5' , Shape : b2, Line : b1};
Polygon.t5 = { Point : 'A,B5,C3,B1' , Shape : b2, Line : b1};
Polygon.t6 = { Point : 'B1,C3,D1,C4' , Shape : b2, Line : b1};
Polygon.t7 = { Point : 'B2,C4,D2,C5' , Shape : b2, Line : b1};
Polygon.t8 = { Point : 'B3,C5,D3,C1' , Shape : b2, Line : b1};
Polygon.t9 = { Point : 'B4,C1,D4,C2' , Shape : b2, Line : b1};
Polygon.t10 = { Point : 'B5,C2,D5,C3' , Shape : b2, Line : b1};
Polygon.t11 = { Point : 'D1,F1,E4,C4' , Shape : b2, Line : b1};
Polygon.t12 = { Point : 'C4,E4,F2,D2' , Shape : b2, Line : b1};
Polygon.t13 = { Point : 'D2,F2,E5,C5' , Shape : b2, Line : b1};
Polygon.t14 = { Point : 'C5,E5,F3,D3' , Shape : b2, Line : b1};
Polygon.t15 = { Point : 'D3,F3,E1,C1' , Shape : b2, Line : b1};
Polygon.t16 = { Point : 'C1,E1,F4,D4' , Shape : b2, Line : b1};
Polygon.t17 = { Point : 'D4,F4,E2,C2' , Shape : b2, Line : b1};
Polygon.t18 = { Point : 'C2,E2,F5,D5' , Shape : b2, Line : b1};
Polygon.t19 = { Point : 'D5,F5,E3,C3' , Shape : b2, Line : b1};
Polygon.t20 = { Point : 'C3,E3,F1,D1' , Shape : b2, Line : b1};
Polygon.t21 = { Point : 'G4,F1,E4,F2' , Shape : b2, Line : b1};
Polygon.t22 = { Point : 'G5,F2,E5,F3' , Shape : b2, Line : b1};
Polygon.t23 = { Point : 'G1,F3,E1,F4' , Shape : b2, Line : b1};
Polygon.t24 = { Point : 'G2,F4,E2,F5' , Shape : b2, Line : b1};
Polygon.t25 = { Point : 'G3,F5,E3,F1' , Shape : b2, Line : b1};
Polygon.t26 = { Point : 'H,G3,F1,G4' , Shape : b2, Line : b1};
Polygon.t27 = { Point : 'H,G4,F2,G5' , Shape : b2, Line : b1};
Polygon.t28 = { Point : 'H,G5,F3,G1' , Shape : b2, Line : b1};
Polygon.t29 = { Point : 'H,G1,F4,G2' , Shape : b2, Line : b1};
Polygon.t30 = { Point : 'H,G2,F5,G3' , Shape : b2, Line : b1};
Rate3D = 400;
GetRotate = function () {
// Rotate.x = mou._x / 10;
// Rotate.y = mou._y / 10;
Rotate.x = Targ3D._xmouse / 10;
Rotate.y = Targ3D._ymouse / 10;
// Rotate.x = 2; //Targ3D._xmouse / 100;
// Rotate.y = 2; //Targ3D._ymouse / 100;
};
break;
case 'Model3':
_quality = 'HIGH';
Point.A = { x : 0, y : 153.884, z : 0};
Point.B1 = { x : 80.90, y : 111.35, z : 0};
Point.B2 = { x : 24.30, y : 111.35, z : 76.94};
Point.B3 = { x : -65.45, y : 111.35, z : 47.55};
Point.B4 = { x : -65.45, y : 111.35, z : -47.55};
Point.B5 = { x : 24.30, y : 111.35, z : -76.94};
Point.C1 = { x : -137.64, y : 68.82, z : 0};
Point.C2 = { x : -42.53, y : 68.82, z : -130.90};
Point.C3 = { x : 111.35, y : 68.82, z : -80.90};
Point.C4 = { x : 111.35, y : 68.82, z : 80.90};
Point.C5 = { x : -42.53, y : 68.82, z : 130.90};
Point.D1 = { x : 137.64, y : 26.29, z : 0};
Point.D2 = { x : 42.53, y : 26.29, z : 130.90};
Point.D3 = { x : -111.35, y : 26.29, z : 80.90};
Point.D4 = { x : -111.35, y : 26.29, z : -80.90};
Point.D5 = { x : 42.53, y : 26.29, z : -130.90};
Point.E1 = { x : -137.64, y : -26.29, z : 0};
Point.E2 = { x : -42.53, y : -26.29, z : -130.90};
Point.E3 = { x : 111.35, y : -26.29, z : -80.90};
Point.E4 = { x : 111.35, y : -26.29, z : 80.90};
Point.E5 = { x : -42.53, y : -26.29, z : 130.90};
Point.F1 = { x : 137.64, y : -68.82, z : 0};
Point.F2 = { x : 42.53, y : -68.82, z : 130.90};
Point.F3 = { x : -111.35, y : -68.82, z : 80.90};
Point.F4 = { x : -111.35, y : -68.82, z : -80.90};
Point.F5 = { x : 42.53, y : -68.82, z : -130.90};
Point.G1 = { x : -80.90, y : -111.35, z : 0};
Point.G2 = { x : -24.30, y : -111.35, z : -76.94};
Point.G3 = { x : 65.45, y : -111.35, z : -47.55};
Point.G4 = { x : 65.45, y : -111.35, z : 47.55};
Point.G5 = { x : -24.30, y : -111.35, z : 76.94};
Point.H = { x : 0, y : -153.884, z : 0};
var b2 = { Color : 0xFF00FF , Alpha : 60};
var b3 = { Color : 0x00FF00 , Alpha : 60};
var b4 = { Color : 0x0000FF , Alpha : 60};
var b5 = { Color : 0xFFFF00 , Alpha : 60};
var b6 = { Color : 0x00FFFF , Alpha : 60};
var b7 = { Color : 0xFF00FF , Alpha : 60};
var b1 = { Color : 0xffffff , Alpha : 100, Pixel : 2};
Polygon.t1 = { Point : 'A,B1,C4,B2' , Shape : b2, Line : b1};
Polygon.t2 = { Point : 'A,B2,C5,B3' , Shape : b2, Line : b1};
Polygon.t3 = { Point : 'A,B3,C1,B4' , Shape : b2, Line : b1};
Polygon.t4 = { Point : 'A,B4,C2,B5' , Shape : b2, Line : b1};
Polygon.t5 = { Point : 'A,B5,C3,B1' , Shape : b2, Line : b1};
Polygon.t6 = { Point : 'B1,C3,D1,C4' , Shape : b2, Line : b1};
Polygon.t7 = { Point : 'B2,C4,D2,C5' , Shape : b2, Line : b1};
Polygon.t8 = { Point : 'B3,C5,D3,C1' , Shape : b2, Line : b1};
Polygon.t9 = { Point : 'B4,C1,D4,C2' , Shape : b2, Line : b1};
Polygon.t10 = { Point : 'B5,C2,D5,C3' , Shape : b2, Line : b1};
Polygon.t11 = { Point : 'D1,F1,E4,C4' , Shape : b2, Line : b1};
Polygon.t12 = { Point : 'C4,E4,F2,D2' , Shape : b2, Line : b1};
Polygon.t13 = { Point : 'D2,F2,E5,C5' , Shape : b2, Line : b1};
Polygon.t14 = { Point : 'C5,E5,F3,D3' , Shape : b2, Line : b1};
Polygon.t15 = { Point : 'D3,F3,E1,C1' , Shape : b2, Line : b1};
Polygon.t16 = { Point : 'C1,E1,F4,D4' , Shape : b2, Line : b1};
Polygon.t17 = { Point : 'D4,F4,E2,C2' , Shape : b2, Line : b1};
Polygon.t18 = { Point : 'C2,E2,F5,D5' , Shape : b2, Line : b1};
Polygon.t19 = { Point : 'D5,F5,E3,C3' , Shape : b2, Line : b1};
Polygon.t20 = { Point : 'C3,E3,F1,D1' , Shape : b2, Line : b1};
Polygon.t21 = { Point : 'G4,F1,E4,F2' , Shape : b2, Line : b1};
Polygon.t22 = { Point : 'G5,F2,E5,F3' , Shape : b2, Line : b1};
Polygon.t23 = { Point : 'G1,F3,E1,F4' , Shape : b2, Line : b1};
Polygon.t24 = { Point : 'G2,F4,E2,F5' , Shape : b2, Line : b1};
Polygon.t25 = { Point : 'G3,F5,E3,F1' , Shape : b2, Line : b1};
Polygon.t26 = { Point : 'H,G3,F1,G4' , Shape : b2, Line : b1};
Polygon.t27 = { Point : 'H,G4,F2,G5' , Shape : b2, Line : b1};
Polygon.t28 = { Point : 'H,G5,F3,G1' , Shape : b2, Line : b1};
Polygon.t29 = { Point : 'H,G1,F4,G2' , Shape : b2, Line : b1};
Polygon.t30 = { Point : 'H,G2,F5,G3' , Shape : b2, Line : b1};
Rate3D = 400;
GetRotate = function () {
// Rotate.x = mou._x / 10;
// Rotate.y = mou._y / 10;
Rotate.x = Targ3D._xmouse / 10;
Rotate.y = Targ3D._ymouse / 10;
// Rotate.x = 2; //Targ3D._xmouse / 100;
// Rotate.y = 2; //Targ3D._ymouse / 100;
};
}
MakePolygonObj();
Targ3D.onEnterFrame = EnterFrame_3DEngine;
}
EnterFrame_3DEngine = function () {
GetRotate();
var v13 = Rotate.x * Math.PI / 180;
var v12 = Rotate.y * Math.PI / 180;
for (var v25 in Point) {
var v15 = Point[v25].y;
var v14 = Point[v25].z;
Point[v25].y = v15 * Math.cos(v12) + v14 * Math.sin(v12);
Point[v25].z = v14 * Math.cos(v12) - v15 * Math.sin(v12);
var v16 = Point[v25].x;
v14 = Point[v25].z;
Point[v25].x = v16 * Math.cos(v13) - v14 * Math.sin(v13);
Point[v25].z = v14 * Math.cos(v13) + v16 * Math.sin(v13);
PerspectRate = Rate3D / (Rate3D - Point[v25].z);
Point3D[v25] = new Array();
Point3D[v25].x = Point[v25].x * PerspectRate;
Point3D[v25].y = Point[v25].y * PerspectRate * -1;
Point3D[v25].z = Point[v25].z;
}
DepthsPoint = new Array();
for (v25 in Polygon) {
var v6 = this[v25];
var v2 = new Array();
var v5 = new Array();
var v9 = new Array();
var v7 = Polygon[v25].Point.split(',');
var v10 = Polygon[v25].Shape;
var v11 = Polygon[v25].Line;
v6.clear();
var v3 = 0;
while (v3 < v7.length) {
var v8 = v7[v3];
v2[v3] = Point3D[v8].x;
v5[v3] = Point3D[v8].y;
v9[v3] = Point3D[v8].z;
++v3;
}
if (v10) {
v6.beginFill(v10.Color, v10.Alpha);
// v6.beginFill('0x' + v10.Color, v10.Alpha);
// v6.beginFill(0xFF0000, 60);
}
if (v11) {
v6.lineStyle(v11.Pixel, v11.Color, v11.Alpha);
// v6.lineStyle(v11.Pixel, '0x' + v11.Color, v11.Alpha);
// v6.lineStyle(2, 0xFFFFFF, 100);
}
v6.moveTo(v2[0], v5[0]);
v3 = 1;
while (v3 < v7.length) {
v6.lineTo(v2[v3], v5[v3]);
++v3;
}
if (v10) {
v6.lineTo(v2[0], v5[0]);
// v6.endFill();
}
var v4 = new Object({ x : 0, y : 0, z : 0});
v3 = 0;
while (v3 < v2.length) {
v4.x += v2[v3];
v4.y += v5[v3];
v4.z += v9[v3];
++v3;
}
DepthsPoint[v25] = new Array();
for (var v20 in v4) {
DepthsPoint[v25][v20] = v4[v20] / v2.length;
}
}
for (v25 in Objct2D) {
var v17 = this[v25];
v8 = Objct2D[v25].Point;
v17._x = Point3D[v8].x;
v17._y = Point3D[v8].y;
DepthsPoint[v25] = new Array();
DepthsPoint[v25].x = Point3D[v8].x;
DepthsPoint[v25].y = Point3D[v8].y;
DepthsPoint[v25].z = Point3D[v8].z;
}
var v24 = 800;
for (v25 in DepthsPoint) {
var v19 = Math.pow(Math.abs(DepthsPoint[v25].x), 2) + Math.pow(Math.abs(DepthsPoint[v25].y), 2);
var v18 = Math.sqrt(v19 + Math.pow(v24 - DepthsPoint[v25].z, 2));
this[v25].swapDepths(v18 * -1);
}
};
MakePolygonObj = function () {
for (var v1 in Polygon) {
Targ3D.createEmptyMovieClip(v1, Targ3D.getNextHighestDepth());
}
};
//createEmptyMovieClip("canvas_mc",1000);
Make3D(canvas_mc, 'Model1');
}
}
}