Bleend’s Blog

Bleend’s Blog

Blog Personal de Bleend, humor, cosas interesantes, diseño y programación.

Dibujar trazos en un swf Flash

Una vez mas, les traigo un flash, que permite dibujar en él, estando este ejecutándose. Que les voy a contar, dibujen uds ^^:

Necesita tener Flash Player 7 o superior y JavaScript Activado. =)

El código no esta ni optimizado ni limpio, pero funciona perfecto. Lo tienen aquí abajo:

Actionscript:
  1. rgbcolor = 0xCCCCCC;
  2. i = 0;
  3. _root.createEmptyMovieClip("linea"+i,i);
  4. escenario.onPress = function() {
  5.     linea = _root["linea"+i];
  6.     linea.moveTo(_xmouse,_ymouse);
  7.     pinta(true);
  8. };
  9. escenario.onRelease = escenario.onReleaseOutside = function() {
  10.     i++;
  11.     pinta(false);
  12.     _root.createEmptyMovieClip("linea"+i,i);
  13. };
  14. function pinta(hacer:Boolean) {
  15.     if (hacer) {
  16.         this.onMouseMove = function() {
  17.             Xa = _xmouse;
  18.             Ya = _ymouse;
  19.             linea.lineStyle(panel.anchura.text,_root.rgbcolor,panel.alpha.text);
  20.             linea.lineTo(Xa,Ya);
  21.             linea.lineTo(_xmouse,_ymouse);
  22.             panel.swapDepths(_root.getNextHighestDepth());
  23.         };
  24.     } else {
  25.         delete (onMouseMove);
  26.     }
  27. }

Cabe decir, que hay los eventos del panel no están puestos, porque son muy obvios, lo mejor que puedes hacer, es flashdescargarte el Flash original.

Si alguien se entretiene a continuarlo, puede lograr crear hasta figuras geométricas. U_U (Y a saber que coas mas)

Update:Versión del fla re-publicada para poder abrir desde Flash 8



-----Separador-----

Física en flash: El péndulo tridimensional

Hace unos días Jacri me contactó. Se ve que alguien le dijo que yo era un genio de flash (no lo duden ni por un momento XD) Me dijo que si sabia como hacer un péndulo en flash. Le pasé ese mismo link, pero él quería un péndulo que oscilara tridimensionalmente.

Enseguida me imagine la forma de hacerlo, es sencillo: Si observamos un péndulo oscilar desde arriba, vemos que describe una circunferencia. Lo único que hay que añadir un alinea desde la bola del péndulo hasta un punto mas elevado (por donde se sujetaría).

La circunferencia, la hice haciendo su parametrización matemática:

r(t)=(cos t, sin t, 0) t€[o,2pi]

La linea, la conseguimos con un lineTo(a,b). Sencillo ^^
Claro que la teoría siempre es fácil, la cosa es poder hacerlo en la práctica. Yo creo yo que lo logré, igual algo justito y sucio, pero con un aprobado ya entramos, ¿no? XD
Bueno, la cosa es que se lo hice a Jacri, y quedó satisfecho ( me pagó 200$* U_u)

Hoy le he cambiado un par de cosillas, como por ejemplo, que se puede variar la inclinación en la que se ve, es decir, mirándolo desde el frente(1), o un poco mas arriba(2):

1:
Necesita tener Flash Player 7 o superior y JavaScript Activado. =)
2:
Necesita tener Flash Player 7 o superior y JavaScript Activado. =)

El código esta basado enteramente en el "entorno" 3D que hice (pero que no publiqué, porque, como ya pueden ver, no es muy limpio...) :

Actionscript:
  1. //---variables---//
  2. var ang_vision:Number = Math.PI/4
  3. var guia:Boolean = true;
  4. var cola:Number = 50;
  5. var anchura:Number = 40
  6. //---no variables---//
  7. var Xo:Number = mc._x;
  8. var Yo:Number = mc._y;
  9. var i:Number = 0;
  10. var altura:Number = 200*Math.sin(ang_vision);
  11. var x3d:Number = 0;
  12. var y3d:Number = 0;
  13. var z3d:Number = 0;
  14. var t:Number = 0;//angulo
  15. var v:Number = 6;//velocidad de variación del angulo
  16. //------alzamos a la máxima "profundidad" el péndulo----//
  17. mc.swapDepths(this.getNextHighestDepth());
  18. //--------empezamos------//
  19. _root.onEnterFrame = function() {
  20.     with (_root) {
  21.         //<-----------Introduce tu parametrización aquí:
  22.         x3d = (anchura)*Math.cos(t);
  23.         y3d = (anchura)*Math.sin(t);
  24.         z3d = 0
  25.         //<-----------Fin de parámetros
  26.         t += v/120;
  27.         }
  28.     //---------efecto 3D----------//
  29.     with (mc) {
  30.         _x = Xo+y3d-x3d*Math.sin(ang_vision);
  31.         _y = Yo-z3d+x3d*Math.cos(ang_vision);
  32.     }
  33.     setProf(mc,x3d/3);
  34.     //------------linea de recorrido----------//
  35.     if (guia) {
  36.         attachMovie("punto","p"+i,i+1);
  37.         ref = _root["p"+i];
  38.         if (i>1) {
  39.             ref._x = mc._x;
  40.             ref._y = mc._y;
  41.             ref._alpha = x3d+80;
  42.         }
  43.     }
  44.     _root["p"+(i-cola)].removeMovieClip();
  45.     i++;
  46.     //------------linea al centro--------//
  47.     _root.createEmptyMovieClip("linea",10);
  48.     linea.lineStyle(2,0x999999,100);
  49.     linea.moveTo(Xo,Yo-altura);
  50.     linea.lineTo(mc._x,mc._y);
  51. };
  52. //gracias maikel:
  53. function setProf(mc:MovieClip, prof:Number) {
  54.     with (mc) {
  55.         _width = prof+36;
  56.         _height = prof+36;
  57.         _alpha = prof+70;
  58.     }
  59. }

Como podrán notar, no hace falta mas que eso para reproducir cualquier parametrización matemática, cambiando el periodo de oscilación de un eje ( (anchura)*Math.sin(3*t);) , podrán reproducir cualquier figura de lissajous.

Edición: Se me olvidó! :P Pueden descargar aquí el archivo original


*(Nota: eso de los 200$ no es verdad, es solamente un engaño para evitar que nadie me pida que le haga su trabajo gratis U_U)



-----Separador-----

Historias de Starcraft en Flash

Hace tiempo que tengo esta pagina en favoritos, pero no me acordaba de ella. Se trata de Logamation, allí podrán encontrar diversos tipos de animaciones en flash, y modelos 3D de cosas interesantes.

Entre todas ellas, hay una historia animada en flash de Starcraft.

Starcraft
En lo personal me gustó, se nota un gran trabajo detrás de cada historia.

Por cierto, llevan pendiente el episodio final desde el año pasado( :roll: ), así que se quedarán con las ganas...



-----Separador-----

Curso de Flash desde cero: Cristalab

FlashLos nuevos usuarios de Flash están de enhorabuena, pues en Cristalab hace unos días publicaban un curso de Flash para empezar desde nivel cero.

Es online y completamente gratuito.

Fue un duro trabajo, aprovéchenlo. Ahora no hay escusa para no saber usar Flash, mas facilidades, imposible.

Freddie dijo:

Un esfuerzo conjunto de muchas personas cuyo amor y entrega por la comunidad da frutos en lo que hoy les presento. Hemos publicado un completo Curso de Flash, desde cero, para personas con cualquier nivel y de acceso gratuito. Inaugurando así la sección de Cursos de Cristalab.

El curso fue escrito por Andre Pantoja, a quien pueden enviar sus agradecimientos a andrepantojaleon@yahoo.com. Yo ya lo hice.



-----Separador-----

Flash, Inteligencia Artificial + 3 en raya

Hoy les presento a un juego que tiene mucha historia.
Esta vez, el juego lo he construido yo, de arriba a abajo. Lo juro

Tiene 2 tipos de juego: Dos Jugadores, para jugar 2 personas desde el mismo PC; y Un Jugador, contra la Inteligencia Artificial que programé. :o

Necesita tener Flash Player 7 o superior y JavaScript Activado. =)

Nota: La inteligencia Artificial buena, es la de nivel 3 U_U

Continuar Leyendo...



-----Separador-----

« Older Entries

Newer Entries »