Skocz do zawartości

Animacja: Scorp Droid


VIZjoner

Rekomendowane odpowiedzi

  • Odpowiedzi 8
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Top Posters In This Topic

Gość User190

nieźle.. pokaż z fpsami i czasami ładowania :) :P Pokaż też na innych obiektach - boxy, kulki, itp :)

Odnośnik do komentarza
Udostępnij na innych stronach

Nie czaje jaki algorytm ? to przecież animka tylko :P mogę wam to zrobić w 5 min ... ;) z maxa do flasha :P

 

algorytm to byś pisał 3 lata świetlne do takiej animacji ;)

 

this.createEmptyMovieClip("theScene", 1);
theScene._x = 150;
theScene._y = 150;
focalLength = 300;
make3DPoint = function (x, y, z)
{
   var point = new Object();
   point.x = x;
   point.y = y;
   point.z = z;
   return(point);
};
make2DPoint = function (x, y)
{
   var point = new Object();
   point.x = x;
   point.y = y;
   return(point);
};
Transform3DPointsTo2DPoints = function (points, axisRotations)
{
   var TransformedPointsArray = [];
   var sx = Math.sin(axisRotations.x);
   var cx = Math.cos(axisRotations.x);
   var sy = Math.sin(axisRotations.y);
   var cy = Math.cos(axisRotations.y);
   var sz = Math.sin(axisRotations.z);
   var cz = Math.cos(axisRotations.z);
   var x;
   var y;
   var z;
   var xy;
   var xz;
   var yx;
   var yz;
   var zx;
   var zy;
   var scaleRatio;
   var i = points.length;
   while (i--)
   {
       x = points[i].x;
       y = points[i].y;
       z = points[i].z;
       xy = cx * y - sx * z;
       xz = sx * y + cx * z;
       yz = cy * xz - sy * x;
       yx = sy * xz + cy * x;
       zx = cz * yx - sz * xy;
       zy = sz * yx + cz * xy;
       scaleRatio = focalLength / (focalLength + yz);
       x = zx * scaleRatio;
       y = zy * scaleRatio;
       TransformedPointsArray[i] = make2DPoint(x, y);
   } // end while
   return(TransformedPointsArray);
};
pointsArray = [make3DPoint(-50, -50, -50), make3DPoint(50, -50, -50), make3DPoint(50, -50, 50), make3DPoint(-50, -50, 50), make3DPoint(-50, 50, -50), make3DPoint(50, 50, -50), make3DPoint(50, 50, 50), make3DPoint(-50, 50, 50)];
cubeAxisRotations = make3DPoint(0, 0, 0);
rotateCube = function ()
{
   cubeAxisRotations.y = cubeAxisRotations.y - this._xmouse / 3000;
   cubeAxisRotations.x = cubeAxisRotations.x + this._ymouse / 3000;
   var screenPoints = Transform3DPointsTo2DPoints(pointsArray, cubeAxisRotations);
   this.clear();
   this.lineStyle(2, 000000, 100);
   this.moveTo(screenPoints[0].x, screenPoints[0].y);
   this.lineTo(screenPoints[1].x, screenPoints[1].y);
   this.lineTo(screenPoints[2].x, screenPoints[2].y);
   this.lineTo(screenPoints[3].x, screenPoints[3].y);
   this.lineTo(screenPoints[0].x, screenPoints[0].y);
   this.moveTo(screenPoints[4].x, screenPoints[4].y);
   this.lineTo(screenPoints[5].x, screenPoints[5].y);
   this.lineTo(screenPoints[6].x, screenPoints[6].y);
   this.lineTo(screenPoints[7].x, screenPoints[7].y);
   this.lineTo(screenPoints[4].x, screenPoints[4].y);
   this.moveTo(screenPoints[0].x, screenPoints[0].y);
   this.lineTo(screenPoints[4].x, screenPoints[4].y);
   this.moveTo(screenPoints[1].x, screenPoints[1].y);
   this.lineTo(screenPoints[5].x, screenPoints[5].y);
   this.moveTo(screenPoints[2].x, screenPoints[2].y);
   this.lineTo(screenPoints[6].x, screenPoints[6].y);
   this.moveTo(screenPoints[3].x, screenPoints[3].y);
   this.lineTo(screenPoints[7].x, screenPoints[7].y);
};
theScene.onEnterFrame = rotateCube;

 

To jest algorytm ;)

 

http://www.graphix-lab.pl/tutoriale/box.swf

Odnośnik do komentarza
Udostępnij na innych stronach

Nie czaje jaki algorytm ? to przecież animka tylko :P mogę wam to zrobić w 5 min ... ;) z maxa do flasha :P

 

algorytm to byś pisał 3 lata świetlne do takiej animacji ;)

 

True...

Ale ogólnie spoko, choć fajniejszy efekt dla mnie to ten realistyczny.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności