1. ¡OFERTA! con cupón "DIRVPS": hosting por $0,01 y también VPS Linux y Windows por $0,01 el primer mes por Interserver ← publi
    Descartar aviso
Descartar aviso
Al usar este sitio web, aceptas que nosotros y nuestros socios podamos establecer cookies para fines tales como personalizar el contenido y la publicidad. Más información.

Ahora sobre botones hehe

Tema en 'Imagen Digital y Video' iniciado por loasdesign, 28 May 2005.

  1. loasdesign

    loasdesign Nuevo usuario

    OOOOOOOOOh maestros, tengo una pregunta +, lo que pasa es que tengo los botones, cada boton es de 3 acciones como todos los comunes, la cosa aqui es que no logro conseguir que aparesca un texto con alfa 0 a alfa 100, solo me aparece de golpe al pasar el mouse por encima del boton. Lo que hago es lo siguiente, espero me corrigan.

    Tengo el Boton, en UP tengo un bmp en OVER tengo otro con un leve cambio y en DOWN tengo otro con un otro cambio que simula estar oprimiendo el boton, ahora dentro del boton, creo un movie clip que contiene la trancicion del texto como la quiero, y ese movie clip lo pongo en un segundo layer dentro de la casilla de OVER y DOWN, aqui pruebo la peli, pero al pasar el mouse por el boton, no me aparece la trancicion del texto referente al boton que quiero que aparesca, solo sale el texto repentinamente y lo que deceo es que al pasar el mouse por el boton, aparesca poco a poco el texto referente al boton.

    Esta es mi duda, espero me puedan ayudar, desde ya Muchas Gracias :wink:
     
  2.  
  3. webgeri

    webgeri Nuevo usuario

    bueno a ver tu lo que quieres es que
    cuando pases sobre un boton
    aparezca con un texto con alfa de 0 a 100

    ahora lo que se puede hacer
    para que el cambio de alpha no sea brusco es
    tienes el boton con nombre de instancia boton_btn
    y la imagen del texto que controla ese boton
    con nombre de instancia imagen_mc

    entonces pones esta accion en el fotograma

    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->velocidad = 10;

    imagen_mc._alpha = 0;

    boton_btn.onRollOver = function() {

    &nbsp;&nbsp;&nbsp;&nbsp;a = 1;

    };

    boton_btn.onRollOut = function() {

    &nbsp;&nbsp;&nbsp;&nbsp;a = 0;

    };

    this.onEnterFrame = function() {

    &nbsp;&nbsp;&nbsp;&nbsp;if (a == 1) {

    &nbsp;if (imagen_mc._alpha<100) {

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;imagen_mc._alpha += velocidad;

    &nbsp;}

    &nbsp;&nbsp;&nbsp;&nbsp;} else {

    &nbsp;if (imagen_mc._alpha>0) {

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;imagen_mc._alpha -= velocidad;

    &nbsp;}

    &nbsp;&nbsp;&nbsp;&nbsp;}

    };<!--c2--></div><!--ec2-->

    eso funciona para un boton
    pruebalo a ver si te funciona
    cualquier duda consulta

    sldos :eek:

    p.d.: la imagen del texto imagen_mc tiene que ser un MovieClip
     
  4. webgeri

    webgeri Nuevo usuario

    bueno ahora si tienes mas botones con su respectivo MC al lado
    necesitas duplicar el script por cada boton y MC
    eso es lo mas sencillo
    pero imagina si tienes 10 botones tienes que duplicar 10 veces el script

    pues lo que yo que hago yo es

    llamar a todos los botones con nombres de instancia seriados
    boton_btn1 boton_btn2 boton_btn3 etc. etc. etc.
    y a los MC tb seriados
    imagen_mc1 imagen_mc2 imagen_mc3 etc. etc.
    claro esta que boton_btn1 controla imagen_mc1 y asi sucesivamente
    tantos como tengas

    entonces uso este script en el fotograma

    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->velocidad = 10;

    for (i=1; i<7; i++) {

    &nbsp;&nbsp;&nbsp;&nbsp;this["imagen_mc"+i]._alpha = 0;

    &nbsp;&nbsp;&nbsp;&nbsp;this["boton_btn"+i].onRollOver = function() {

    &nbsp;numero = this._name.length-1;

    &nbsp;b = this._name.charAt(numero);

    &nbsp;a = 1;

    &nbsp;&nbsp;&nbsp;&nbsp;};

    &nbsp;&nbsp;&nbsp;&nbsp;this["boton_btn"+i].onRollOut = function() {

    &nbsp;numero = this._name.length-1;

    &nbsp;b = this._name.charAt(numero);

    &nbsp;a = 0;

    &nbsp;&nbsp;&nbsp;&nbsp;};

    &nbsp;&nbsp;&nbsp;&nbsp;this.onEnterFrame = function() {

    &nbsp;if (a == 1) {

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;imagenes = new Array(1, 2, 3, 4, 5, 6);

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c = b-1;

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;imagenes.splice(c, 1);

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d = imagenes.length+1;

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (x=0; x<(d); x++) {

    &nbsp; &nbsp;xd = imagenes[x];

    &nbsp; &nbsp;if (this["imagen_mc"+xd]._alpha>0) {

    &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this["imagen_mc"+xd]._alpha -= velocidad;

    &nbsp; &nbsp;}

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (this["imagen_mc"+b]._alpha<100) {

    &nbsp; &nbsp;this["imagen_mc"+b]._alpha += velocidad;

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}

    &nbsp;} else {

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (this["imagen_mc"+b]._alpha>0) {

    &nbsp; &nbsp;this["imagen_mc"+b]._alpha -= velocidad;

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}

    &nbsp;}

    &nbsp;&nbsp;&nbsp;&nbsp;};

    }<!--c2--></div><!--ec2-->

    es bastante un poco mas complejo que el anterior
    se a de poder mejorar pero asi funciona al menos
    y solo tienes que cambiar unas cosas para poder usarlo

    primero donde dice
    velocidad=10 es la velocidad de la transicion del alpha
    si es mayor sera mas rapido
    y si es menor mas lento

    esta linea for (i=1; i<7; i++)
    la cambias segun tengas 5 10 o 50 botones
    lo importante es el i<7 asi tal como esta funciona para 6 botones
    porque alli genera seies valores de i 1 2 3 4 5 6
    tu lo que haces es cambiar el numero segun la cantidad de botones
    que tengas
    si tienes 15 pones tendrias que cambiarlo por i<16

    lo otro que debes cambiar segun el numero de botones que tengas
    es donde dice imagenes = new Array(1, 2, 3, 4, 5, 6);
    alli si tienes que escribir todos los numeros de los botones
    en orden
    si tienes 15 tienes que escribir
    imagenes = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
    es el cambio mas pesado :?

    bueno luego de eso nada mas
    puedes tb ponerles otros nombre de instancia a tus botones
    y a los MC respectivos
    pero tb deberas cambiar su referencia en el script
    siempre llamalos seriados asi los puedes controlar todos a la vez

    bueno espero te sirva
    si ves el script tampoco es tan complejo
    para usarlo solo tienes que adaptar esas lineas que te decia arriba
    ahora si lo quieres entender no es complejo
    si no entiendes alguna lnea del script
    me dices cual o cuales y te las explico
    es entreverado nomas :p solo un poco

    bueno cualquier duda consulta nomas

    sldos :mrgreen:
     
  5. loasdesign

    loasdesign Nuevo usuario

    Tengo una duda respecto a la primera forma. donde situo el imagen_mc que tiene el alfa, lo dejo en la libreria, dentro del boton, o donde?

    Ahora para la segunda forma, tengo 10 botones, veo que el codigo tiene palabras en español, funciona tal cual el script en la version en ingles?? ya que es la que uso yo.

    De antemano Gracias
     
  6. webgeri

    webgeri Nuevo usuario

    a ver para la primera forma tendrias dos elementos en el stage
    separados
    un boton con nombre de instancia boton_btn
    y un MC que seria el texto que aparece llamado imagen_mc
    que aparece al pasar sobre el boton
    ninguno de esos dos elementos estan dentro del otro
    son independientes en el stage

    otra cosa
    todo codigo actionscript es en ingles
    no hay ordenes en español eso jamas

    lo que si uno puede poner en el idioma que quiera
    es el nombre de las variables y los nombres de instancia
    incluso una variable o un nombre de instancia
    puede ser absolutamente extraño
    como por ej. puedo ponerle a una variable chutluchutlu :twisted:
    pero tengo que acordarme de para que es esa variable
    y ese nombre no me va a ayudar para nada
    es algo muy incomodo llamar a una variable asi

    los nombres de variables, nombres de instancia, objetos, funciones, etc.
    se ponen para identificacion y para poder saber a que nos referimos
    y cual es su funcion

    por ej. los Movie Clips es muy comun llamarlos con nombres de instancia
    movie_mc imagen_mc terminacion _mc
    los botones boton_btn boton2_btn terminacion _btn
    una funcion que me permite agrandar un objeto
    la denomino agrandar
    la nomenclatura de esos elementos la decide cada uno segun crea
    conveniente o adecuado

    como ves hay una variable que se denomino velocidad
    esa variable controla cuan rapido varia el alpha
    por lo que fue conveniente llamarla velocidad
    cuestion de que sea mas facil para quien vea el script
    saber que variable controla que
    cuando veas mas codigo te vas a dar cuenta en seguida


    bueno cualquier duda consulta nomas
    o sino te envio un ejemplo

    sldos :mrgreen:

    p.d.: una cosa mas
    si alguna vez ves algo asi en un codigo
    //aca definimos la variable
    eso es un comentario no afecta al codigo simplemente
    es un recordatorio personal o para explicarle a alguien
    que hace esa parte del codigo
     
  7. loasdesign

    loasdesign Nuevo usuario

    again me, pues ya le intente de varias formas y no me sale.
    Tengo en 1 layer los 10 botones y si pongo el codigo en el primer frame, al probar la peli, me aparecen luego luego los textos, o es que debo de tener un boton en un layer diferente?? sorry pero nomas no me sale, espero puedas postear un ejemplo webgeri porfa, GRACIAS
     
  8. webgeri

    webgeri Nuevo usuario

    te dejo el link donde subi el ejemplo

    <a href="http://www.geocities.com/webgeri/botonesalpha1.htm" target="_blank">http://www.geocities.com/webgeri/botonesalpha1.htm</a>

    tene sun lnk para bajar el .fla
    haces click derecho sobre el link
    guardar enlace como
    y se guarda el .fla
    si no podes bajarlo me decis y lo envio en mail

    cualquier duda deci nomas

    sldos :mrgreen:
     
  9. loasdesign

    loasdesign Nuevo usuario

    webgeri Muchas Gracias man, baje el .fla y lo coteje con lo que tenia, entonces me di cuenta de que yo estaba haciendo el motion tween, y no era asi, ya que eso te lo da el alpha, ok, hasta aqui ya quedo, pero ahora solo me funcionan 6 botones, modifique el script agregandole 7, 8, 9, 10) pero no me funciona, hay que agregarle mas cosas????
     
  10. loasdesign

    loasdesign Nuevo usuario

    ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,) ](*,)

    Relei el post de arriba donde explicas como hacerlo, pero ahora no me jala el ultimo boton, ocea el 10,

    este es el codigo

    velocidad = 31;
    for (i=1; i<11; i++) {
    this["imagen_mc"+i]._alpha = 0;
    this["boton_btn"+i].onRollOver = function() {
    numero = this._name.length-1;
    b = this._name.charAt(numero);
    a = 1;
    };
    this["boton_btn"+i].onRollOut = function() {
    numero = this._name.length-1;
    b = this._name.charAt(numero);
    a = 0;
    };
    this.onEnterFrame = function() {
    if (a == 1) {
    imagenes = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
    c = b-1;
    imagenes.splice(c, 1);
    d = imagenes.length+1;
    for (x=0; x<(d); x++) {
    xd = imagenes[x];
    if (this["imagen_mc"+xd]._alpha>0) {
    this["imagen_mc"+xd]._alpha -= velocidad;
    }
    }
    if (this["imagen_mc"+b]._alpha<100) {
    this["imagen_mc"+b]._alpha += velocidad;
    }
    } else {
    if (this["imagen_mc"+b]._alpha>0) {
    this["imagen_mc"+b]._alpha -= velocidad;
    }
    }
    };
    }


    si segun yo esta bien, porque no estara jalando???? Gracias Por la AYUDA
     
  11. webgeri

    webgeri Nuevo usuario

    oops ahora me di cuenta de para 10 en adelante es necesario hacer unos cambios en el script
    para que lo arreglo
    pero voy a demorar un poco ahora etsoy en el laburo
    en cuanto pueda lo subo arreglado

    no estas cometiendo ningun error solo cometi un error en el codigo yo

    sldos :evil:
     
  12. webgeri

    webgeri Nuevo usuario

    bueno lo arregle ahora sirve para 99 botones
    habia que hacer unos cambios en la parte del rollover y rollout de los botones
    copia esto en lugar de lo que estaba
    y decime si funciona
    yo lo probe para 22 botones y funciono

    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->this["boton_btn"+i].onRollOver = function() {

    &nbsp;if (this._name.length<11) {

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;numero = this._name.length-1;

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b = this._name.charAt(numero);

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a = 1;

    &nbsp;} else {

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;numero1 = this._name.length-2;

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;numero2 = this._name.length-1;

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b1 = this._name.charAt(numero1);

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b2 = this._name.charAt(numero2);

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b = b1+b2;

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a = 1;

    &nbsp;}

    &nbsp;&nbsp;&nbsp;&nbsp;};

    &nbsp;&nbsp;&nbsp;&nbsp;this["boton_btn"+i].onRollOut = function() {

    &nbsp;if (this._name.length<11) {

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;numero = this._name.length-1;

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b = this._name.charAt(numero);

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a = 0;

    &nbsp;} else {

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;numero1 = this._name.length-2;

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;numero2 = this._name.length-1;

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b1 = this._name.charAt(numero1);

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b2 = this._name.charAt(numero2);

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b = b1+b2;

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a = 0;

    &nbsp;}

    &nbsp;&nbsp;&nbsp;&nbsp;};<!--c2--></div><!--ec2-->


    en cuanto tenga tiempo te explico que arreglos hice
    y porque no funcinaba asi lo entendes y no es solo copiar script

    sldos cualquier duda conuslta

    sldos again :mrgreen:
     
  13. webgeri

    webgeri Nuevo usuario

    ..
     
  14. loasdesign

    loasdesign Nuevo usuario

    <!--sizeo:18--><span style="font-size:12pt;line-height:100%"><!--/sizeo-->FUNCIONO A LA PERFECCION
    GRACIAS POR TODO<!--sizec--></span><!--/sizec--> :D :D :D :D :D :D :D
     
  15. webgeri

    webgeri Nuevo usuario

    no hay de que cualquier duda consulta nomas

    en cuanto pueda dejo una explicacion del codigo

    sldos :mrgreen:
     


Alojamiento web, Hosting Reseller, Servidores Dedicados - All in Hosting


    
    
    
    
Blog · Sitios amigos: GuiaHosting · Unidominios · Interalta ·