Política de privacidad - Suscribase - Contacta
diseño de web, webmaster google, cursos online, diseño de web, paginas web diseño, tutoriales de flash, tutoriales de photoshop, tutoriales de 3d studio, alta en buscadores

 

 

 

 

 

Tutoriales de flash

Tutorial dibujo 3D en Flash

Con el siguiente código sacado de kirupa.com vamos a ver como utilizar el potencial de ActionScript para producir un efecto tridimensional 3D. No hay más que copiar y pegar el código:

Convert3DPointTo2DPoint = function (points, angles, perspective)
{
        var TransformedPointsArray = [];
        var sx = Math.sin(angles.x);
        var cx = Math.cos(angles.x);
        var sy = Math.sin(angles.y);
        var cy = Math.cos(angles.y);
        var sz = Math.sin(angles.z);
        var cz = Math.cos(angles.z);
        var xy;
        var xz;
        var yx;
        var yz;
        var scaleFactor;
        var i = points.length;
        while (i--)
        {
        xy = points[i].y * cx - points[i].z * sx;
        xz = points[i].y * sx + points[i].z * cx;
        yx = points[i].x * cy + xz * sy;
        yz = xz * cy - points[i].x * sy;
        scaleFactor = perspective / (perspective + yz);
        TransformedPointsArray[i]={x:(yx*cz-xy*sz)*scaleFactor,y:(yx*sz+xy*cz)*scaleFactor};
        }
        return(TransformedPointsArray);
};
points=[{x:50,y:50,z:0},{x:-50,y:50,z:0},{x:0,y:0,z:0},
                                    {x:0,y:100,z:0},{x:0,y:50,z:50},{x:0,y:50,z:-50}];
perspective = 300;

this.createEmptyMovieClip("scene3D", 1);
scene3D._x = 85;
scene3D._y = 40;
for (i = 0; i < points.length; i++)
{
        dot = scene3D.createEmptyMovieClip("dot" + i, i);
        dot.lineStyle(4, 0, 100);
        dot.lineTo(0.150000, 0.450000);
}
scene3D.createTextField("xaxis", 200, 0, 0, 50, 50);
scene3D.xaxis.text = "X";
scene3D.createTextField("yaxis", 201, 0, 0, 50, 50);
scene3D.yaxis.text = "Y";
scene3D.createTextField("zaxis", 202, 0, 0, 50, 50);
scene3D.zaxis.text = "Z";
scene3D.xaxis.selectable = scene3D.yaxis.selectable = scene3D.zaxis.selectable = false;
scene3D.angles = {x: 0, y: 0, z: 0};
scene3D.onEnterFrame = function ()
{
        this.angles = {x: 0, y: y = y + 0.050000, z: 0};
        this.clear();
        this.lineStyle(1, 0, 100);
        ScreenPositions = Convert3DPointTo2DPoint(points, this.angles, perspective);
        for (i = 0; i < points.length; i++)
        {
                this["dot" + i]._x = ScreenPositions[i].x;
                this["dot" + i]._y = ScreenPositions[i].y;
                if (i < 6)
                {
                        if (i % 2)
                        {
                                this.lineTo(ScreenPositions[i].x, ScreenPositions[i].y);
                                continue;
                        }
                        this.moveTo(ScreenPositions[i].x, ScreenPositions[i].y);
                }
        }
        this.xaxis._x = this.dot1._x + 10;
        this.xaxis._y = this.dot1._y - 20;
        this.yaxis._x = this.dot2._x + 10;
        this.yaxis._y = this.dot2._y - 20;
        this.zaxis._x = this.dot4._x + 10;
        this.zaxis._y = this.dot4._y - 20;
};

 

Download Archivo Fla

 

     

 

 

 

.

 

     

All Content Copyright ©, Design Animation. Inc. - Todos los derechos reservados -Madrid -España

Argentina - Chile - México - Perú - Venezuela - Ecuador - Guatemala - República Dominicana - Puerto Rico