Lo que tenemos que hacer antes de programar es crear un clip de película con vinculación circulo. El contenido de este clip puede ser cualquier cosa. Por ejemplo, un circulo.
Lo que hacemos con este código es hacer un anillo 3D de círculos. Si apretamos las teclas Arriba y Abajo aumenta el número de círculos o disminuye. La posición vertical del ratón asigna el sentido de rotación y la vertical la inclinación.
El código va en el primer fotograma:
Código :
var x:Number = 275;
var y:Number = 200;
var h:Number = 0;
var w:Number = 300;
var c:Array = [];
var cCount:Number = 10;
var theta:Number = 0;
function init() {
for (var i:Number =0; i < cCount; i++) {
var circulo:MovieClip = _root.attachMovie("circulo", "circulo_"+i, i, {
_x: x + w/2*Math.sin(Math.PI*2*i/cCount),
_y: y + h/2*Math.cos(Math.PI*2*i/cCount)
});
c.push(circulo);
var col:Color = new Color(circulo);
var o = {
r: 255*(2*Math.abs(i-cCount/2)/cCount),
g: 100+155*(2*Math.abs(i-cCount/2)/cCount),
b: 100
};
col.setRGB((o.r<<16)+(o.g<<8)+o.b);
}
}
function onEnterFrame() {
theta += 0.02 *Math.PI*(_root._xmouse-Stage.width/2)/Stage.width;
theta = (theta-Math.PI)%(2*Math.PI)+Math.PI;
theta = (theta+Math.PI)%(2*Math.PI)-Math.PI;
h = (_root._ymouse - Stage.height/2)*0.4;
for (var i in c) {
var circulo = c[i];
var t:Number = Math.PI*2*i/cCount + theta;
t = (t-Math.PI)%(2*Math.PI)+Math.PI;
t = (t+Math.PI)%(2*Math.PI)-Math.PI;
circulo._x = x+w/2*Math.sin(t);
circulo._y = y+h/2*Math.cos(t);
circulo._xscale = circulo._yscale = 70+30*Math.cos(t);
circulo._xscale *= Math.cos(t);
t = 1 - Math.abs(t)/Math.PI;
circulo.swapDepths(Math.round(t*2*cCount));
}
}
Mouse.addListener(this);
this.onMouseWheel = function(d) {
while (c.length > 0) c.pop().removeMovieClip();
cCount = Math.max(cCount+d, 1);
init();
}
Key.addListener(this);
this.onKeyDown = function() {
if (Key.getCode() == Key.UP)
this.onMouseWheel(1);
else if (Key.getCode() == Key.DOWN)
this.onMouseWheel(-1);
}
init();
el fla puedes mandarlo a fred webmaster@cristalab.com
mientras puedes colgarlo en algun hosting gratuito Por:FeTo
Muy bueno Por:Suriv
Genial Que cabrón: No tengo palabras Estupendo Por:nestorrente
Realmente un buen tip. Sólo corregí detalles de redacción y le puse 10 anillos por defecto. Para que se vea mejor al ser ejecutado Por:Freddie
Se crean interesantes efectos si aumentan la cantidad de la variable cCount:Number = 80; Te felicito.... Por:torrealbaruben
esta genial ........quien puede hacer algo mejor?.............mu gueno. Por:javiermillar_blog
hey muy bueno *cacharrea Por:Finvara
Tengo una inquietud, alguien podria explicarme como funciona lo de los colores, exactamente la formula que le da el valor a la variable col, muchas gracias... Por:Finvara
pues yo tengo una duda, al codigo se le pueden dar diferentes usos cargando una imagen pequeña y que el cCount sea 1, pero tratando de que sean 2 imagenes distintas o 3, o 4 etc..
se puede cargar en el mismpo Array todas las imagenes diferentes deseadas?????, yo trate de hacerlo pero la unica forma que encontre fue crear un array por cada imagen, pero para 10 imagenes el codigo se hace inmenso, sin mencionar que si hay algun error en el codigo el Flash se muere al tratar de compilarlo.
me salio el mensaeje de error en una de las librerias de C ,
si me pueden ayudar a responder si es posible usar un solo Array, le estara agradecido.
buen dia. Por:Seele_blog
wow! y hasta podes interactuar con la ruedita del mouse
Del Putas! Muy Bueno, me muero por ver mas ejemplos tan ilustrativos como ese
=) Por:Animalejo_blog
que bueno!!! se le puede agregar muchas mas funciones cierto??? Por:pabletein_blog
Estoy necesitando hacer lo siguiente con este circulo (que esta buenisimo!!!). He logrado que ,en vez de que sean todos los clips iguales, que sean todos distintos y ademas, le he agredado unos botones dentro y alguna otra cosa. El problema es el siguiente: Como puedo hacer para contrlar estos MC que estan dentro del circulo, o como puedo hacer para hacerlo desaparecer y aparece al circulo entero con un boton ? estube probando de meterlo dentro de otro MC, pero no me saio, ademas no lo puedo controlar (me gustaria hacerlo desaparecer con fade, y cosas asi) Gracias!!!!!!!!!!!!!!
hey q tal la verdad q nose ocmo se hace, bueno lo unico q he hecho es poner una circunferencia con relieve q lo hise en pohothsop, y bueno lo pus eocmo clip de pelicula y en el primer fotograma puse el codigo y solo me sale el circulo pero le pongo el mouse encima y no salenada , solo estatico, especiquen bien q mas hay q hacer, si es q hay q poner otro en otro fotograma la verdad qkiero ver como keda ayudenme pues. Por:pedritodolores
hey q tal la verdad q nose ocmo se hace, bueno lo unico q he hecho es poner una circunferencia con relieve q lo hise en pohothsop, y bueno lo pus eocmo clip de pelicula y en el primer fotograma puse el codigo y solo me sale el circulo pero le pongo el mouse encima y no salenada , solo estatico, especiquen bien q mas hay q hacer, si es q hay q poner otro en otro fotograma la verdad qkiero ver como keda ayudenme pues.
tenes que vincular el clip como circulo osea en biblooteca clik derecho vinculary listo. Por:cat_blog
ami nunka me resulta ni una wea Por:yo_blog
waoooooooo esta genial! si hubieran mas tips seria TODO! gracias Por:enrique-blog
1152: Existe un conflicto con la definición heredada flash.display:DisplayObject.x del espacio de nombres public.
esto es lo que me sale en panel de salida, si podeis ayudar Por:kani-blog
Mira a ver si estas utilizando Action Script 3.0, yo tenía el mismo problema y si cambias la configuración de la publicación (CONTROL+SHIFT+F12) y seleccionas Action Script 2.0 deja de dar problemas, almenos a mi.