flash on 2010-12-18

by Nos_lkSsvOhB
♥0 | Line 337 | Modified 2010-12-18 21:04:48 | MIT License
play

ActionScript3 source code

/**
 * 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');

        }
    }
}