Distribución de objetos en el escenario basado en el cálculo de ángulos
actionScript, Colaboraciones | Febrero 25th, 2005Versión para imprimir
Dani www.mardelcoral.com ha escrito este útil script para la distribución de objetos en el espacio basado en los ángulos.
//nº de opciones que queremos desplegar
opc = 9;
//el angulo a partir del cual queremos desplegar la selección
angulo0 = 0;
//cálculo del ángulo asociado a cada opción
angulo = 360/opc;
for (i=0; i<opc; i++) {
duplicateMovieClip(clip, "clip"+i, i);
//incrementamos el angulo para cada opción
elAngulo = angulo0+(angulo*i);
//convertimos el ángulo a radianes
rad = (Math.PI*2/360)*elAngulo;
//aplicamos las leyes de la trigonometria
eval("clip"+i)._x = Math.round(clip._x+(100*Math.cos(rad)));
eval("clip"+i)._y = Math.round(clip._y+(100*Math.sin(rad)));
}
}
Descargar ejemplo » (805 hits)
Febrero 26th, 2005 at 12:32 pm
Una cosita… el 100 que aparece en
“eval("clip"+i)._x = Math.round(clip._x+(100*Math.cos(rad)));
eval("clip"+i)._y = Math.round(clip._y+(100*Math.sin(rad)));”
lo podéis sustituir por la variable “radio” y asignarle el valor que queráis… esa será la distancia equidistante de las opciones al centro de referencia. El script modificado quedarÃa de la siguiente manera:
//nº de opciones que queremos desplegar
opc = 9;
//el angulo a partir del cual queremos desplegar la selección
angulo0 = 0;
//cálculo del ángulo asociado a cada opción
angulo = 360/opc;
//distancia de las opciones al centro
radio=100;
for (i=0; i
Febrero 26th, 2005 at 4:53 pm
mola el code “
”
jugando:
prof = 10;
//nº de opciones que queremos desplegar
opc = 100;
//el angulo a partir del cual queremos desplegar la selección
angulo0 = 0;
//cálculo del ángulo asociado a cada opción
angulo = 360/opc;
createEmptyMovieClip("eF", prof);
i=0;
eF.onEnterFrame = function() {
this.createEmptyMovieClip("cir"+i, prof++);
CreaCir(this["cir"+i]);
//incrementamos el angulo para cada opción
elAngulo = angulo0+(angulo*i);
//convertimos el ángulo a radianes
rad = (Math.PI*2/360)*elAngulo;
//aplicamos las leyes de la trigonometria
this["cir"+i]._x = Math.round(200+(3*i*Math.cos(rad)));
this["cir"+i]._y = Math.round(275+(3*i*Math.sin(rad)));
i++;
if(i>=opc)delete this.onEnterFrame;
}
function CreaCir(ke) {
with(ke) {
//lineStyle(0, 0x212121, 100);
beginFill(0x212121);
moveTo(2, 2);
curveTo(3, 2, 3, 1);
curveTo(3, 0, 2, 0);
curveTo(1, 0, 1, 1);
curveTo(1, 2, 2, 2);
endFill();
}
}