¿Quieres registrarte?

Crear fractales usando la Clase Point de Flash 8

Por: Teseo
5 de Julio del 2007
1401 de clabLevel
Otros artículos de Teseo
10,192 visitas

Con el uso de la Clase Point se pueden simplificar muchos códigos y, además de tener que usar poca o nula trigonométrica, conseguir un aumento significativo de la velocidad de proceso.
Este código simplemente genera rayos. No se necesita nada más que poner dicho código en las acciones de primer frame.

Crea un MC rayo donde "dibujamos" un fractal creado con recursividad de la misma función arco().

Dicha función necesita 4 parámetros para llamarla: 2 puntos A y B entre los que saldrá el rayo ( en el ejemplo usamos uno fijo y otro tomando la posición del mouse), el ancho del trazo del rayo y su linealidad ( cuanto menor es ese valor, más recto y cuanto mayor, mas quebrado.

Tiene añadido un filtro de iluminación para ampliar el efecto, se pueden variar los parámetros del mismo para obtener otros resultados.



Código :

import flash.geom.*;
import flash.filters.*;
rayo = this.createEmptyMovieClip("e",100);
BF = new GlowFilter(0xaaaaff,.5,16,16,2,1);

arco = function (A,B,anc,tz){ 
   var d1 = Point.distance(A,B)/2;
   var ang = Math.atan2(B.y-A.y, B.x-A.x)-.78;
   var C = Point.interpolate(A,B,.5).add(Point.polar(d1*tz*(2*Math.random()-1),ang));
   rayo.lineStyle(anc,0xc2c7fd,anc*50);
   if (d1>15)arco(C,C.add(Point.polar(d1,ang+1.5*Math.random())),anc/1.9,tz);
   if (d1>10){arco(A,C,anc,tz); arco(C,B,anc,tz);}
   else{rayo.moveTo(A.x,A.y); rayo.lineTo(C.x,C.y); rayo.lineTo(B.x,B.y); rayo.filters=[BF]}
}

nrayo = onMouseMove = function(){
   A = new Point(200,0); B = new Point(_xmouse,_ymouse);
   rayo.clear(); arco(A,B,2,.5);
}
IT = setInterval(nrayo,30);//opcional 


Pequeñas variaciones y ampliaciones sobre este tipo de códigos permiten la generación de múltiples texturas (mármoles, maderas, vegetales, etc..) y que podremos generar sin tener que importarlas. Pero eso será el motivo de un trabajo mucho más extenso y específico.

Enviar a twitter Enviar a facebook


También te interesa


Etiquetas actionscript

Comentarios | Enviar un comentario
Muy bueno el ejemplo, has vuelto ha despertar en mí, la idea de jugar con AS, espero pronto tener un tiempo para aventarme algunos ejemplillos. ^^
Por: Dano
A ver si es verdad Dano!!
Estoy trabajando con una colección de texturas generadas por código. No es caso de ponerlas una a una. Cuando tenga un par de docenas las subo todas juntas. Las más "generales" ya las tengo: piedra, marmol, cemento, maderas a tutiplén, texturas de hojas, césped y otros vegetales etc...
Una vez que le he cogido el truco........van a la carrera y me divierto mucho buscándolas! :)
Por: Teseo

Teseo :

No es caso de ponerlas una a una.
Pero en Clab no nos ponemos bravos (En honor a la facilidad de búsqueda) si lo haces así.
Por: Freddie

Teseo :

No es caso de ponerlas una a una. Cuando tenga un par de docenas las subo todas juntas.
Como se nota que no te interesa el ClabLevel.
Por: HernanRivas
Agradecemos que compartas tus conocimientos, ha sido un buen tip
Por: Eleuterio_blog
Teseo. Me sorprendes en verdad, la verdad soy una persona no muy facil de convencer y menos sorprender

Pero en verdad, te admiro. Una pregunta ¿eres físico o matemático?.

Que pena la preguntadera
Por: esutoraiki_blog
me gustaria que me dijeras como lograste hacer ese efecto de rayo porque yo no puedo hacerlo y de verdad me seria muy util saber como se hace
Por: william_blog
:o :o :o :o
Teseo eres mi ídolo! :alabado: :alabado: :alabado:
Siempre soñé hacer cosas así como agua fuego lluvia... y ahora Rayos!
:alabado: :alabado: :alabado:

Me encantan estos efectos. :cool:
Por: Sisco
Teseo quiero ser tu amigo :alabado:
Por: penHolder
Hola me gustaria saber como hacer este efecto ya que apenas me inicio en flahs y no entendi muy bien, o si pudieras recomendarme un tutorial
mi correo es
israelgonzalez75@hotmail.com

saludos
Por: israel gonzalez_blog
dejen un ejemplo en flash para descargar, los primiparos aveces nos quedamos barados
Por: javier_blog
Qué ejemplo necesitas???

Copias el código de arriba y lo pegas en las acciones del primer frame de la película.
Control+enter o ( Control->Probar película) y ya está.
Trastear con los valores para ver que hace cada uno, si se desea.
Nota: en este caso no se ha creado fondo y por ello es preciso poner el fondo del documento en un color azul oscuro. (Control+J o Modificar->Documento y color de fondo)
Por: Teseo
Y no hay ninguno con efecto agua??? Estoy intentando hacerlo y no me sale... no se me ocurre cómo hacerlo...
Por: Uruviel
buenos ejemplos. son fantasticos, soy un aprendis quisisera saber como hago juegos como aparear una imagen por medios de lineas, como unir puntos para formar una imagen y cosas como esas para poder hacercela a mis alumnos (de preescolar)
Por: gaston-blog
locaxo men..buen flash...espero q' pongas
nuevos flash ...para impresionar a los usurios...
Por: jack -blog
q wena menn como siemprem impresioando a los demas
Por: shamtshimt-blog
kro dibujar flash8
Por: michel-blog
me gusta flash8
Por: rayza-blog
Deja un comentario
IMPORTANTE

Recuerda ser respetuoso, no insultes a otras personas, ni uses palabrotas, hay una persona al otro lado de la pantalla.

Habla bien, NO ESCRIBAS EN MAYUSCULA TODO, no escribas como en un SMS, evita cosas como "ke", "x q" y demás abreviaciones.

Aquí funcionan las etiquetas de los foros, puedes usar [b] para negrita, [img] para las imágenes, [url] para los enlaces, etc.

Si tienes preguntas técnicas, envíalas mejor al foro.