Cristalab

                 ¿Quieres registrarte?

Crear menú dock de Mac OS X en Flash

Por: FeNtO
8 de Mayo del 2007
4495 de clabLevel
Otros artículos de FeNtO
63,375 visitas

Muchos de nosotros hemos visto paginas hechas en Flash que contienen un menú con el efecto del famoso menú de Mac OsX.



Realmente no tiene mucha dificultad.

Antes que nada deberemos leer este tip (la ultima edición echa por mi corrige el error, así que no hagan caso a la primera) en la cual se explica una de las dos partes fundamentales de este menú en ese tip hará la detección de la cercanía del mouse, es necesario entenderlo a conciencia para no confundirnos.

Ahora veremos los pasos necesarios para la creación del menú.

Empezamos desde cero, creamos un documento en blanco.

Primer paso, crear los elementos del menú, convertirlos a clip individuales por cada elemento , no importa el numero, es una de las ventajas como he diseñado esta versión, una ves terminados , asignarles a cada uno de ellos un nombre de instancia empezando por 0 en base a este termino
btn00, btn01, btn02 ... etc.

Después los seleccionamos todos y los convertimos a un solo clip con el punto de registro en la parte superior izquierda, esto es muy importante para el correcto funcionamiento.

Una vez hecho esto pegaremos este código dentro del primer frame del clip que contiene todos los elementos de el menú:

Código :

//align = bottom;
//esto hara que el punto de centro sea la mitad por si tenemos que reposicionarlo , el punto 1,1
//sera sera siemrpe el punto de en medio de este menú, se la asigno a variables para ser flexible 
//por si necesitamos hacer algo con ello
centerx = 0;
centery = 0;

//Establecemos el menú de items para saber cuanto tenemos que recorrer para hacer los cálculos
menucount = 6;

// establecemos de que ancho son los items, para hacerlo dinámico, tomo el ultimo y asigno el ancho
// los items para ser optimos deberian tener la misma anchura
miwidth = this["btn0" + menucount - 1]._width;

// establecesmos que espacio entre cada item deseamos
miborder = 5;

// establecemos la variable inicial en el valor cero, que lelvara el control del ancho del menu
AnchMen = 0;

//esto hara que cada ves que el menú haga un enterframe se ejecute y tengamos un monitoreo constante
onEnterFrame = function ()
{
   var AnchMen = 0;
   
   //esta es la parte del tip anterior, con la única diferencia que este acumula en la variable  
   //AnchMen el ancho del menú
   for (var i = 0; i < menucount; i++) {
      var xxm = this["btn0" + i]._xmouse;
      var yym = this["btn0" + i]._ymouse;
      var xm = Math.sqrt(xxm * xxm + yym * yym);
      if (xm < 80) {
         this["btn0" + i]._xscale = this["btn0" + i]._yscale += ((200 - xm) - this["btn0" + i]._yscale) / 3;
      } else {
         this["btn0" + i]._xscale = this["btn0" + i]._yscale += (100 - this["btn0" + i]._yscale) / 3;
      }
      
      //esta parte va acumulando el ancho de los elementos
      AnchMen += this["btn0" + i]._width;
   }
   
   //hacemos el calculo total de incremento de los espacios entre elementos del menu mas el espacio de los elementos
   AnchMen += (menucount - 1) * miborder;
   
   // Inicializamos las posiciones 
   // toma el ancho lo divide entre dos  y se lo resta al centro garantizando que el menu quede centrado
   var xpos = Math.round((centerx - AnchMen) / 2);
   
   // como el primer item no tiene un elemento anterior de donde partir en la funcion  se establece el punto de parida 
   // se hace el calculo del espacio del elemento uno se incrementa y se parte del elemento 2
   xpos += Math.round((this["btn0" + 0]._width + miborder) / 2);
   for (var i = 1; i < menucount; i++) {
      x = i - 1;
      xpos += (this["btn0" + x]._width / 2) + miborder + (this["btn0" + i]._width / 2);
      this["btn0" + i]._x = xpos;
      this["btn0" + i]._y = centery;
   }
   
   //como el elemento uno no ha sido establecido se le resta su ancho menos al elemento 2 para lograr su posición 
   this["btn0" + 0]._x = (this["btn0" + 1]._x - this["btn0" + 0]._width - miborder);
   this["btn0" + 0]._y = centery;
};



Resultado:



Se puede cambiar, por ejemplo, en lugar de convertir los elementos a clip podemos hacerlo a botones y el botón dispara la acción, o dentro del clip podemos establecer animaciones para hacerlo mas vistoso y así lanzar la acción de ese botón.

Si parece muy extenso es solo por los comentarios, realmente el código de el menú es este

Código :

centerx = 0;
centery = 0;
menucount = 6;
miwidth = this["btn0" + menucount - 1]._width;
miborder = 5;
AnchMen = 0;
onEnterFrame = function ()
{
   var AnchMen = 0;
   for (var i = 0; i < menucount; i++) {
      var xxm = this["btn0" + i]._xmouse;
      var yym = this["btn0" + i]._ymouse;
      var xm = Math.sqrt(xxm * xxm + yym * yym);
      if (xm < 80) {
         this["btn0" + i]._xscale = this["btn0" + i]._yscale += ((200 - xm) - this["btn0" + i]._yscale) / 3;
      } else {
         this["btn0" + i]._xscale = this["btn0" + i]._yscale += (100 - this["btn0" + i]._yscale) / 3;
      }
      AnchMen += this["btn0" + i]._width;
   }
   AnchMen += (menucount - 1) * miborder;
   var xpos = Math.round((centerx - AnchMen) / 2);
   xpos += Math.round((this["btn0" + 0]._width + miborder) / 2);
   for (var i = 1; i < menucount; i++) {
      x = i - 1;
      xpos += (this["btn0" + x]._width / 2) + miborder + (this["btn0" + i]._width / 2);
      this["btn0" + i]._x = xpos;
      this["btn0" + i]._y = centery;
      //trace(centerx);
   }
   this["btn0" + 0]._x = (this["btn0" + 1]._x - this["btn0" + 0]._width - miborder);
   this["btn0" + 0]._y = centery;
};


Es optimizable, así que se aceptan sugerencias.


Artículos Relacionados


Etiquetas actionscript

Comentarios | Enviar un comentario
oye esta bien curada pero no puedes subir el archivo .fla para analizarlo mejor?? gracias
Por: Emmanuel _blog
oye esta bien curada pero no puedes subir el archivo .fla para analizarlo mejor?? gracias
Por: Emmanuel _blog

para analizarlo mejor?
sera para evitar la fatiga xD

Pero no seria mala idea que me lo subieran
Por: arcaraz_blog
Excelente ejemplo. Gracias!
Por: marliton_blog
Good tuto.
Por: Ego_blog
Mas sencillo que el de Leebrimelow
Por: biohazard_blog
Muy bueno, si le metes un reflejo debajo de cada cuadro seria aun mas bonito.
Un saludo
Por: s2d_blog
Excelente

solo un datin¡nunca lo subas el .fla a la red,si queremos aprender nosdebe costar;es más creo que no nos cuesta nada
Por: arbitro_blog
pos a mi no me funciona..... se me kedan los elementos quietos
Por: Zagahlo_blog
Zagahlo probablemente te has brincado algun paso, cabe aclarar que esto esta echo en flash 8, sin embargo logicamente debefuncionar al menos desde mx2004
Por: FeNtO
guaooo, le diste al clavo con una de las dudas que tenia, pues vi una pagina de mexico, no se de donde seas tu, pero insertan un efecto asi, no se si se puede hacer spaw(o no se como lo llaman, la verdad XD), pero la pagina es de una empresa de salas de cine, en cada una delas peliculas que esta en cartelera ponen un boton, es decir, como si fuera el cartel de la pelicula, y conforme acercas el puntero, hace lo mismo que los cuadritos que pusiste, solo que, oye, me gustaria implementarlos como botones, y me parece que no entendi bien lo que dijiste acerca de eso, no seas mala honda, sube el archivoooo, pues de cualquier manera no nos evitamos la fatiga, solo que hay cosas que a veces no quedan muy claras, y por el contrario, nos ponemos a trabajar analizando los archivos, de todos modos, yo no me quedo a gusto si no comprendi por completo el proceso de cada uno de los ejemplos que ponen en esta maravillosa pagina (por cierto, excelente sitio, graciaaaaaaaasss a todos los que hacen posible este lugaaar).
Por: Señor Oz_blog
señor oz me referia aque en lugar de crear clips crees botonoes, eso es todo , el script controla tanto clips como botones
Por: FeNtO_blog
che, genial el tutorial.
muy bueno, igual todavia no me funciona bien, no encuentro bien mi error..
seguramente sea que le tenga que cambiar algun valor al ancho o al alto, porque es como que se superponen los movie clips.

en fin, suerte :)
si podes/queres te dejo mi mail asi te hago unas consultas via msn.
y sino..no hay drama.
muchas gracias!

Lucas.

narigondelsiglo89@hotmail.com
Por: Lucas_blog
hola, bueno el tutorial es exekente pero pero a mi almomento de aplica el codigo el cual produce el efecto de este menu de mac solo el movie clip de la ezquierda (el primero de la fila) muestra este efecto. ?alguien me podria decir que cambiar el codigo para que este efecto aplique en toda la fila de movie clips¿
Por: hutees_blog
haber, ya asignaron los nombres de instancia a cada boton, y pegaron en el primer frame del clip que contiene los clips ?

eso es todo lo que deben hacer , del resto se encarga el script
Por: FeNtO
Pues a mi tampoco me funcina correctamente, se hacen grandes pero por individual, es decir se montan unos sobre otros. ¿Alguien sabe a que se debe?
Por: juanillo_blog
Hago todo tal cual dice acá pero no hay caso ! NO FUNCIONA !!!!

PLEASE HELP !
Por: maurinicoletti@gmail.com_
Ami si me salio pero publicandolo en flash player 6 =0
Por: daniel_blog
Queridisimo y muy amable señor FeNtO:

Muchas gracias por el dato de los botones, funcionan igual y bastante bien, por fin termine de procesar todos los calculos asi como la sintaxis de todo tu grandioso script, solo que un datillo con el ejemplo que tu pusiste aqui, no se si esa era tu intension, pero he notado que el primer cuadro (con tu script) se encima con el segundo cuando comienzas a hacer grande el segundo (los demas funcionan bien) no se si ya lo solucionaste, pero si no, te digo que lo unico que hay que hacer para que el primer cuadro no se encime con el segundo, simplemente, a la posicion del primer cuadro, ya sabes, la posicion x, simplemente tambien restale la mitad del segundo cuadro:
this.btn00._x = this.btn01._x - (this.btn00.width / 2) - (this.btn01._width / 2) - borde;

y listo(bueno, esta cosa me corta las filas, pero ya saben que va toda en la mismam fila), funcionan todos perfectamente parejitos, como lo hiciste en el ciclo for de los demas botones, ya que en la posicion del primer cuadro no tomas en cuenta el ancho del segundo cuadro.

se que esto es algo sumamente mezquino, de hecho, me siento ridiculo diciendote esto, pero es una manera bastante pobre por cierto, que encontre para retribuir el gran favor que todos los de este sitio, especialmente tu, nos hacen a todos nosotros que nos estamos iniciando en esto.

Muchas gracias, amigo, eres grande.
Por: Señor Oz_blog
En cuanto a los amigos que no les sale las cosas, quiero decirles que "animooooo", se que a veces es frustrante que las cosas no salgan aun cuando haces todo tal cual te dijeron aqui, pero creanme, se los digo sin temor a equivocarme, todos los ejemplos que aqui depositan funcionan al cien por ciento (cosa de admirar la de estos seres y sus obras altruistas, insisto, pues pocos estan dispuestos a compartir su conocimiento y sobre todo sus scripts sin nada o poco a cambio), una vez que dominen un poco mas la sintaxis de actionScript, cada vez se equivocaran menos, y les saldran las cosas mas rapido y facil, peroooo, batallen un poco, busquen y rebusquen y rebusquen el error, por el bien de todos ustedes, e intenten procesar los metodos que se utilizan, es lo mejor para aprender, no se limiten a copiar todo tal cual, si descubren algo nuevo o una manera mas sencilla de lograr el mismo efecto, tanto mejoooor¡¡¡¡, yo lo intente con el script de FeNtO, pero no lo logre (maaan, pensaste en todooooo¡¡¡¡, nuevamente felicidades), veran que encontrarar su error y hasta se reiran de no haberlo encontrado antes, enhorabuena por estar en esto, animo adelante y felicidades a todos aquellos que desean ir mas alla.
Por: Señor Oz_blog
gracias señor oz, tienes razon, gracias por el comentario y por la correccion,
Por: FeNtO
yeah!!!!! me salio de lo lindo!!
Por: bada28_blog
tremendo, a practicar para implementarlo, ahi les enseñare como quedo
Por: mestevan_blog
exelente tutor, gracias por el recursos es bueno aprender de los maestros.

Saludos desde Guatemala
Por: juanchoel_blog
Madre mia!!! en que verengenal me he metido jejejejejeje. Weno esto del código pufff...lo mio son los dibujitos:)P
cuando ya he realizado todo pongo el código y en la ventana de salida me dice que nanainas!!!jejeje error error y mas error!!! alguien me podría dar una pistilla????
**Error** Escena=Escena 1, capa=Capa 1, fotograma=1:Línea 1: La declaración debe aparecer dentro del controlador on/onClipEvent
centerx = 0;

**Error** Escena=Escena 1, capa=Capa 1, fotograma=1:Línea 2: La declaración debe aparecer dentro del controlador on/onClipEvent
centery = 0;

**Error** Escena=Escena 1, capa=Capa 1, fotograma=1:Línea 3: La declaración debe aparecer dentro del controlador on/onClipEvent
menucount = 6;

**Error** Escena=Escena 1, capa=Capa 1, fotograma=1:Línea 4: La declaración debe aparecer dentro del controlador on/onClipEvent
miwidth = this["btn0" menucount - 1]._width;

**Error** Escena=Escena 1, capa=Capa 1, fotograma=1:Línea 5: La declaración debe aparecer dentro del controlador on/onClipEvent
miborder = 5;

**Error** Escena=Escena 1, capa=Capa 1, fotograma=1:Línea 6: La declaración debe aparecer dentro del controlador on/onClipEvent
AnchMen = 0;

**Error** Escena=Escena 1, capa=Capa 1, fotograma=1:Línea 9: El operador '=' debe ir seguido de un operando
   var AnchMen = 0;

**Error** Escena=Escena 1, capa=Capa 1, fotograma=1:Línea 7: La declaración debe aparecer dentro del controlador on/onClipEvent
onEnterFrame = function ()

**Error** Escena=Escena 1, capa=Capa 1, fotograma=1:Línea 10: Error de sintaxis.
   for (var i = 0; i < menucount; i ) {

Total de errores de ActionScript: 9 Errores comunicados: 9
Por: kahira_blog
Hola!!, gracias a todos se va refinando este codigo para los que andan un poco mas desorientados en la linea que corrige Señor Oz_Blog ahi que reemplazar esta linea this["btn0" 0]._x = (this["btn0" 1]._x - this["btn0" 0]._width - miborder); por esta otra this["btn0" 0]._x = (this["btn0" 1]._x - this["btn0" 0]._width / 2 - (this["btn0" 1]._width / 2) - miborder);
espero sea algo de ayuda, Saludos y gracias a todos.
Por: JaZ (Jacinto)_blog
me sigue encimando los movie clip aun copn el codigo corregido
Por: tonhio
Hola,
funciona correctamente en firefox pero en explorer se quedan los botones aumentados al dejar de estar el raton encima de ellos.
Alguna explicación?
gracias
Por: soyjok_blog
Ya lo tengo!! Solo hacian falta las instancias como antes habias dicho FeNtO. Pero encontre otra bronca: son 7 mis botones, los primeros 6 se comportan correctamente, pero el septimo se comporta independientemente, como si no le hubiera puesto la instancia
A que se debe?
Gracias....otra vez!!!
Por: OskR_blog
Lo tengo!!! Olvide alterar el menucount y aumentarlo a 7 jejeje error de novato
xD
Gracias de todas formas me sirvio muchisimo esto!
Por: OskR_blog
Os dejo con una aplicación de este menu: un mapa interactivo
Por: isuny000
El codigo funciona correctamente, solo que para aplicarlo o mas bien llamarlo como un swf externo es complicado, porque cambia de posicion. Ademas, no cuadra bien de una resolucion a la otra, es decir, si tu monitor tiene 1280px y lo pasas a 1024, estos botones cambian drsaticamente de posicion. Creo que es cuestion de manipular el action. jaileoarrobahotmail.com
Por: Jaime_blog
Me aparece en cualquier lado :( pero funciona bien... lo estoy optimizando para hacerlo mas dinamico todavia.
Por: Dientuki
cabe matizar que cuando pasas el mouse por encima, si luego lo mueves hacia el extremo izquierdo o extremo derecho el último de la fila no aminora su tamaño, en todo caso está muy bien logrado...

yo hice uno parecido en la página www.botein.es en el menú presentación y en la sección equipo. En otro momento que tenga tiempo os mando un tuto de como lo hice. También es mejorable.
Por: pitger_blog
Hola, soy martin.

me salta este error...en el flash 8 y nu se porque

convengamos que no se nada de action scrip :S ...

pero me manejo :P jaj

me darian una manito:



**Error** Escena=Escena 1, capa=Capa 1, fotograma=1:Línea 1: El bloque de declaración debe finalizar con '}'
centerx = 0;centery = 0;menucount = 6;miwidth = this["btn0" menucount - 1]._width;miborder = 5;AnchMen = 0;onEnterFrame = function (){ var AnchMen = 0; for (var i = 0; i < menucount; i ) { var xxm = this["btn0" i]._xmouse; var yym = this["btn0" i]._ymouse; var xm = Math.sqrt(xxm * xxm yym * yym); if (xm < 80) { this["btn0" i]._xscale = this["btn0" i]._yscale = ((200 - xm) - this["btn0" i]._yscale) / 3; } else { this["btn0" i]._xscale = this["btn0" i]._yscale = (100 - this["btn0" i]._yscale) / 3; } AnchMen = this["btn0" i]._width; } AnchMen = (menucount - 1) * miborder; var xpos = Math.round((centerx - AnchMen) / 2); xpos = Math.round((this["btn0" 0]._width miborder) / 2); for (var i = 1; i < menucount; i ) { x = i - 1; xpos = (this["btn0" x]._width / 2) miborder (this["btn0" i]._width / 2); this["btn0" i]._x = xpos; this["btn0" i]._y = centery; //trace(centerx); } this["btn0" 0]._x = (this["btn0" 1]._x - this["btn0" 0]._width - miborder); this["btn0" 0]._y = centery;};

Total de errores de ActionScript: 1 Errores comunicados: 1
Por: tincc_blog
Fento, usted que sabe.


hago el boton del tuto ... y lo hago perfecto y ando josha

ahora coloco 6 cuadrados identicos los convierto a cada uno en clip de peli..
les colco btn00 hasta el n° que se me cant ...

y despues los clikeo a todos y los convierto en un clip de peli ....


y no anda :S ..............

bue le coloco el codigo oseaaaa


para mi el codigo esta mal ...por fa lopodrias revisar ....??
Por: Tincc_blog
Quisiera decir que este menú está bien, pero aún no consigue simular el "efecto Mac" ya que en realidad, el efecto Mac amplía gradualmente hasta 3 botones a ambos lados del seleccionado.

No es lo mismo claro.

Saludos
Bocha
Por: Bochini_blog
Hola en realida esta muy bueno pero yo no conosco mucho y me gustaria saber si pueden poner el archivo o uno similar para podre estudiarlo y apreder un poco teniendo en cuenta que yo no tengo los conosimientos que ustedes tienen

Gracias
Por: Zona_blog
tengo problema con la linea 53
Por: felipe_blog
this["btn0" 0]._x = (this["btn0" 1]._x - this["btn0" 0]._width - miborder);
linea 53?
Por: felipe_blog
mmmmm, yo estoy de acuerdo en que deberían de poner el archivo de ejemplo, ya que muchos están perdidos a la hora de hacer el botón, desde ahí, puede que muchos estén poniendo el error. Si Veo a FeNtO por ahí le pediré que lo ponga, ya que yo no tengo donde subirlo y tampoco se como ponerlo en esta pagina, podrían poner un blog permanente en donde nos puedan decir como subir archivos a esta pagina, sería buena idea.
En cuanto a Tincc, tu error es debido a un error de sitaxis que consiste en no haber colocado todas las llaves "}" de cierre, tienes que revisar bloque por bloque para que veas sin en realidad no omitiste ninguna, también puede suceder si al final de alguna linea o sentencia no colocaste el punto y coma ";" o en general si omitiste algún signo que anidara alguna otra función, como paréntesis, corchetes, comillas, etcétera, así es que de esta manera, se te puede ayudar poco sin la totalidad de tu código como lo hayas creado, tendrías que revisarlo todo por ti mismo, sorry.
Por: Señor Oz_blog
felipe, prueba sin los parentesis, tambien puedes poner el nombre de la instancia sin los corchetes, es decir, construyendo el nombre directamente, ejemplo:
this.btn00._x = this.btn01._x - (this.btn00._width / 2) - (this.btn01._width / 2) - miborder;

y listo, en teoria no deberias de tener error con esa linea, o si puedes, detalla mas el error que te esta arrojando la ventana de salida. espero haya sido de ayuda.
Por: Señor Oz_blog
No, si salir, sale.. pero el efecto de desplazamiento de los objetos circundantes, hacia los lados, no me lo hace. O sea, que me hace lo mismo que un efecto de fade in/out en cada botón/clip de pelicula.
Por: Mixalberto_blog
1 pregunta, a los clip por separados hay que colocarle l aprogramacion que tienes en el tip o solo creas los clip sin programacion alguna y el unio codigo que lleva es el qeu aparece aqui, ya que hago todo tal cual aparece escrito en este tutorial y los cuadros se quedan quietos sin movimiento.

gracias por su atencion y disculpe la molestia
Por: muma_blog
mola tio, gracias
Por: javi_blog
Este Dock es actualizable si se cuelga en la web??
Por: Ivan_blog
Me hace la animacion pero de a un solo cuadrado X ves, los de los laterales no se mueven, va...se mueven pero para el costado...Cual es mi error??
Por: Ivan_blog
el primer cuadrante sigue quedando distinto a los demás...
´cuál será el problema?


onFrame (1) {
centerx = 0;
centery = 0;
menucount = 7;
miwidth = this["btn0" + menucount - 1]._width;
miborder = 5;
AnchMen = 0;
onEnterFrame = function ()
{
var AnchMen = 0;
for (var i = 0; i < menucount; i++) {
var xxm = this["btn0" + i]._xmouse;
var yym = this["btn0" + i]._ymouse;
var xm = Math.sqrt(xxm * xxm + yym * yym);
if (xm < 80) {
this["btn0" + i]._xscale = this["btn0" + i]._yscale += ((200 - xm) - this["btn0" + i]._yscale) / 3;
} else {
this["btn0" + i]._xscale = this["btn0" + i]._yscale += (100 - this["btn0" + i]._yscale) / 3;
} AnchMen += this["btn0" + i]._width;
} AnchMen += (menucount - 1) * miborder;
var xpos = Math.round((centerx - AnchMen) / 2);
xpos += Math.round((this["btn0" + 0]._width + miborder) / 2);
for (var i = 1; i < menucount; i++) {
x = i - 1;
xpos += (this["btn0" + x]._width / 2) + miborder + (this["btn0" + i]._width / 2);
this["btn0" + i]._x = xpos; this["btn0" + i]._y = centery;
//trace(centerx);
}
this["btn0" + 0]._x = (this["btn0" + 1]._x - this["btn0" + 0]._width - miborder);
this["btn0" + 0]._y = centery;
};
}
Por: pepognx
A mi no me funciono si alguien lo tiene lopodria subir el fla por favor

Gracias
Por: edgar servin_blog
Bueno chavos aqui yo me puse a experimentar y les dejo mi .fla, Saludos desde Mexico.
Lo pueden descargar desde esta direccion. http://espanol.geocities.com/wackystar_2000/menuosx.zip
Por: Chapomon_blog
hice todos los pasos exactamente komo lo dices y tengo flash mx y mimenu se matiene estatico no tiene funcion eso es por????? ojala me ayuden plis
Por: alex_blog
ahora me funciono sin seleccionara loselementos y volverlos a hacer clip lo hice solo a un mc y funciono es posible?
Por: alex_blog
ahora el problema es ke mi menu me lo pone hasta la esquina del lienzo por asi llamarlo helpppppppppppppp!!!!!
Por: alex_blog
jajaja ya lo solucione yo mismo gracias
y suerte
Por: alex_blog
Me salio estupendo muchas gracias!!!
Por: Luismaria_blog
oye el ejemplo anterior ya lo hice de hacer grandes los movie clips, pero en este del menú a cada movie clip que hago particular tamb le tengo que hacer lo mismo? o solo el código que aki pones? porque de no serlo no se mueven solo cuando los hago de uno por uno pero no es el caso estoy perdido....heeeelp!!!kien sea porfis la programacion ya no me lasen errores
Por: Gerberman
Excelente! ahora como puedo hacer esto Verticalmente?
Por: Argenis_Vzla_blog
cambia los valores de Y por X, supongo.

yo tuve un problema de que los elementos creían pero para abajo. O sea, todo al revés. Y para no meterme en problemas, el movie clip lo puse de cabeza XD

muchas gracias!!
Por: fisho_blog
Esta chido pero no puedo abrir el archivo .fla por que sera?

tengo flash 8
Por: jorge_63_blog
Oye a que te refieres con el punto de registro en la parte superior izquierda
Por: jorge_63_blog
Amigo cuando lo lo hice convirtiendo los cuadritos en vez de clip los converti en botones para asi poder linkiarlo con otra escena y no me funciona....podrias ayudarme porfavor
Por: raul rivas_blog
cuando los convierto en botones se me queda estatico...con el movie clip no me sirve por que no actua como menu si no como un simulacro...esta excelente el trabajo...lo unico que digo como una critica construcctiva que si en un "menu" por que no explicarlo de una vez con botones....espero su ayuda. gracias
Por: raul rivas_blog
ahora hago los 6 recuadros los combierto cada uno en boton le pongo de istancia btn00, btn01..etc le coloco la accion a cada uno para trasladarme a otra escena, probe antes de convertirlos en movie clip y colocarle el codigo para ver si era que estaba colocando los accion mal y no (si funcionan correctamente, pero al convertirlos en movie y colocarle el cogigo dentro del primer frame del clip...me lo anima y hace el efecto pero no me funcionan los acciones de los botones...porfavor tengo que entregar este proyecto lo antes posible..alguien que se apiade de mi y me ayude. gracias (Mr. OZ aparece porfavor)
Por: raul rivas_blog
Hola a todos. Bueno les dire que aun no me sale y ya probe de todoas las formas y colocando el codigo del tip anterior a los clip de pelic. solo se mueven individualmente y se montan entre si, osea el menu completo no se expande. Yo soy de la opinion de que el que quiera enseñar deberia explicarlo bien y deberia poner el fla tambien, con el pretexto de "para que aprendan.." nos dejan siempre este sabor Frustante. No se preocupen si aprendemos o no; eso depende de cada quien pero deberian poner el fla y asi saber cual es nuestro error y poder darle las gracias como se merece a quien corresponda. De todos los que postearon solo a dos les ha salido y la mayoria no podemos estar equivocados cuando les decimos que no sale siguiendo esos pasos. No lo tomen a mal , solo es mi opinion. gracias
Por: gmopinillosv

gmopinillosv :

De todos los que postearon solo a dos les ha salido y la mayoria no podemos estar equivocados cuando les decimos que no sale siguiendo esos pasos. No lo tomen a mal , solo es mi opinion. gracias
este post lleva 25381 lecturas por 64 respuestas

interesante que a TODO no les salga, solo haslo tranquilo y de la manera que se te indica
Por: FeNtO
Que bueno que te encuentro FeNto, ahora decidme cual es el temor de subir el fla (de que otros aprendan?) . Te digo que he seguido los pasos al pie de la letra como todos y obtengo el resultado que a ellos les sale. Será que sientes placer cuando otros se frustran. Bueno mi estimado no quiero que lo tomes a mal , pero debes saber que lo que se escribe nunca es igual a lo que uno quiere decir muchos entendemos de distintas formas no todos pensamos como tu y mas aun si es escrito. De todas formas gracias , algun dia estaré a tu nivel y a lo mejor te enseñe algunas cosas. No creas que estoy desistiendo de hacer este tuto , vere hasta donde llego. Y si te animas sigo esperando el fla. gracias
Por: gmopinillosv
temor de subir el fla, o evitarte la fatiga y hacerte el trabajo, la razon de no subirla sencilla, hacer que tu mente trabaje y prepararla para futuros retos,
placer cuando otros se frustan?, supongo que lo dices por que dedique horas de mi vida a redactar algo que yo aprendi, y en lugar de guardarlo egoistamente trato de que alguien que no lo sabe en este momento como TU lo aprenda, si supongo que el tratar de darte la guia para hacerlo paso por paso , debe ser muy placentero para mi el qu eno lo entiendas igual que las otras 25381 personas, que tampoco pudieron y por eso escribieron quejandose(sarcasmo, y lo especifico por que por lo que veo hay que decirte muyy explicitamente las cosas).
En lugar de malgastar este hilo con quejas ponte a trabajar y aprende como las demas gentes, no culpes a los demas de tu flojera , y este es el ultimo comentario que hago respecto a este tema y como punto final

esta paso por paso , no cualgo el fla, simplemente para que APRENDAN las personas y ya no vuelvo a contestar preguntas de esta indole
Por: FeNtO
Hola otra vez, tu respuesta me confirma lo dicho, muchas veces queremos decir por escrito algo y nos entienden de diferente manera. disculpa si te ofendi, no fue mi intencion. Nadie nacio aprendiendo y en eso estamos cada dia aprendemos algo nuevo. Y tambien me uno al grupo que esta agradecido porque ya me salio, despues de horas y horas Y solo es un juego de palabras la solucion como te dije al principio "uno piensa algo y lo escribe y otras personas entienden diferente a lo que se quizo dar a entender...." y eso es normal, no lo llames flojera (por supuesto que tambien hay y alla ellos)
Bueno y aqui esta la SOLUCION:
- en el 3er paso hay que entrar al mc creado y alli colocar el script
- el tip anterior no tiene nada que ver con este tuto
- hacer la correccion que hace el Sr Oz_blog Y gracias tambien a el esto salio perfecto.

Una vez mas gracias y disculpa lo malo.
Por: gmopinillosv
wow! gracias FeNt0 que increible aporte, me quedo espectacular, y si de todos los que hicieron este tuto y solo a dos les salio pues ahora ya son tres si quieren.

y no se los mando porque estoy de acuerdo con FeNt0 de que no nos ayuden y que aprendamos a la manera antigua.

el truco no es copiar y pegar el codigo hay que mecanografiarlo tal y como esta y sin errores.
Por: Bryan_blog
hola que tal FeNt0 necesito que chequees esto por que me dio un problema quiza me puedas decir a que se debe.

puedes bajarlo aqui:

http://rapidshare.com/files/78603087/Dock_en_Flash.zip.html
Por: Bryan_blog
Hola FeNt0 despues de que ya lo hayas visualizado el archivo respondeme a bryan20127@hotmail.com espero encuentres y me expliques por que no funciona.
Por: Bryan_blog
Wenas a todox, soy nuevo en el foro. Antetodo, gracias a la gente que esta detrás de todas las ayudas.

estoy con FeNtO, hay q currarselo!!!

Lo he hecho, paso a paso, y me ha salido. Solo tengo dos problemillas:

1- Con vectores me ha quedado bien. El problema lo tengo cuando pongo imágenes, se pixela un montón.

¿puedes recomendarme algun truco, para que no se pixele tanto?

2- Estoy intentando hacer-lo con unas imágenes más grandes y no encuentro la manera de que quede bien. Se me esparcen por el espacio sin control y el control del mouse, para que aumenten o no, parece estar desconfigurado, pues no coinciden con la imágen.

¿que he hecho mal?
Por: lucky13_blog
Hola FeNtO, gracias por el código!!

también tengo problemas con los pixels y me gustaría controlar mejor el zoom. Puedes indicarme como?

otra pregunta ¿sólo se me escala un objeto, y a tí el objeto q tienes al lado también se escala. Cómo lo puedo solucionar?
Por: antonio_blog
Está muy bueno el ejemplo, gracias!

Falta nada más que al perder el enfoque los botones de los extremos queden al tamaño normal...
Por: dcalonga_blog
como hago si quiero el menu dentro de un movieclip?
Por: alejandrommb
solo manejalo dentro del clip , pero poniendo atencion en las rutas recuerda que son relativas
Por: FeNtO
buenas ferneto oye solo una pequeña pregunta ¿por que no puedo vincular los graficos que hice en el dock? no se mucho de flash me pueden ayudar???
Por: apdesign-blog
si tienen safari pueden bajar el swf que esta en este blog,
yo tengo una pregunta, este menu se podria mover de lado a lado, lo que quiero decir es que tenga el efecto de dock, pero a su ves si quiero meterle muchos botones y de tamaño mas grande, y que me los pueda mover de lado a lado
Por: carlos mestre-blog
les cuento que deben hacer todo lo que dice en el código del la animación tipo Mac, pero HAY ALGO QUE NO DEBEN HACER,< ES AGRUPAR TODOS los Botones> Después los seleccionamos todos y los convertimos a un solo clip con el punto de registro en la parte superior izquierda, esto es muy importante para el correcto funcionamiento.<no hagan esto y les va ha funcionar muy bien>
chao...
Por: BomBerO-blog
ayuda por favor urgente estado todo le fin de semana tratando de hacer el fecto y no me resulto me sale lo siguente
"
1151: Existe un conflicto con la definición _loc2 del espacio de nombres internal.

for (var _loc2 = 1; _loc2 < menucount; ++_loc2)
"
no se ke estoy haciendo mal
me pueden alludar lo necito alluda urgente por que lo quiero poner en un trabajo para la u y no me resulta y tengo que entregar el trabajo esta semana
de antema no muchas gracias
soy nuevo en eto de
actionscrips
Por: pankito_77
Muy buen tutorial al principio no me funcionaba, pero como todo, luego de hechar un poco de cabeza me di cuenta que no estaba colocando los nombres de las instancias.

A los que no les funciona:
cambiar el Instance Name en las propiedades.

Saludos.
Por: Andrés-blog
como hago para ponerlo en la posicion que quiero.
Por: Grupmix-blog
cuando publico la pelicula sale en una posicion distinta a la que tengo a la estacion de trabajo. como hago para configurar esto gracias
Por: Flaix-blog
comop lo hago en as3
Por: krlonp
hoola porfavor! me puedes decir donde ingreso el codigo.. y como
soy muy novata en esto :S
mil disculpas corazon..espero alguna respuesta !
gracias
Por: fer-blog
porque no posteas el codigo completo en un comentario ..tal cual lo teenés! porfavor
lo necesito urgente!!
GRACIAS
Por: ***-blog
Aqui les dejo el script final que a mi me funcionó:

centerx = Stage.width;
centery = Stage.height / 2;
menucount = 6;
miwidth = this["btn0" + menucount - 1]._width;
miborder = 5;
AnchMen = 0;
onEnterFrame = function ()
{
var var7 = 0;
for (var var2 = 0; var2 < menucount; ++var2)
{
var var3 = this["btn0" + var2]._xmouse;
var var5 = this["btn0" + var2]._ymouse;
var var4 = Math.sqrt(var3 * var3 + var5 * var5);
if (var4 < 70)
{
this["btn0" + var2]._xscale = this["btn0" + var2]._yscale = this["btn0" + var2]._yscale + (200 - var4 - this["btn0" + var2]._yscale) / 3;
}
else
{
this["btn0" + var2]._xscale = this["btn0" + var2]._yscale = this["btn0" + var2]._yscale + (100 - this["btn0" + var2]._yscale) / 3;
} // end else if
var7 = var7 + this["btn0" + var2]._width;
} // end of for
var7 = var7 + (menucount - 1) * miborder;
var var6 = Math.round((centerx - var7) / 2);
var6 = var6 + Math.round((this.btn00._width + miborder) / 2);
for (var var2 = 1; var2 < menucount; ++var2)
{
x = var2 - 1;
var6 = var6 + (this["btn0" + x]._width / 2 + miborder + this["btn0" + var2]._width / 2);
this["btn0" + var2]._x = var6;
this["btn0" + var2]._y = centery;
} // end of for
this.btn00._x = this.btn01._x - this.btn00._width - miborder;
this.btn00._y = centery;
};
Por: Spook-blog
Funcionar me funciona, pero los botones no me hacen nada si les asigno algunas acciones.
Ni go to, ni con _root, ni nada...
Por: Takehiko-blog
Buenos dias a todos, he probado el ejercicio y me funciono a la perfeccion en flash8, pero le agregue una linea al principio de onClipEvent (load) para que me anulara un error y ahi si funcionara.

Tengo una duda, mi problema es que diseñe un menu en donde los iconos estan dispuestos sobre una elipse y no en linea recta, y soy muy novato y no tengo idea como hacerlo funcionar asi, se podria?

Probe el tutorial de Boton Crece cuando acerca mouse pero pierdo el control sobre los botones, se vuelven locos.

Muchas gracias y excelete trabajo
Por: nelgonpra
Como necesitaba este efecto hace un año...

Assshhh!!!

Muy bueno, genial!!
Por: omishe-blog
(Y)

Gracias!
Por: federicoleandro
Hola, tengo un problema y es que no puedo hacer que cuando clickeo en los botones pase algo, por ejemplo que vaya a otra escena

Gracias
Por: federicoleandro
el fla que ha dejado nuestro compañero mexicano Chapomon_blog es una cañaaaa!!! revisenlo!

GRACIAS Chapomon_blog
Por: max-blog
Como puedo ponerle los vinculos a los clip de pelicula en cada uno, para que se vincule en una tabla del sitio?
Por: Siriö
muy buen tutorial lo probe con botones y no funciona....... ni idea de por que de todas formas gracias por el tutorial.
Por: alvaro7es-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.