Comunidad de diseño web y desarrollo en internet online

Evento Click

Citar            
MensajeEscrito el 01 Jul 2005 05:41 pm
Esta pregunta les sonara bien simple .. pero aqui va ..

Tengo una imagen dentro de un MC y quiero que al hacer click .. este se agrande .. y cuando le haga otro click se redusca a su tamaño original ..

espero que puedan ayudarme ... :( 8)

Por Pley

Claber

2268 de clabLevel

8 tutoriales

 

Lima - Peru

msie
Citar            
MensajeEscrito el 01 Jul 2005 05:45 pm
es facil,crea un boton normal con tu imagen, pero enver de colocar la imafen en los fotogramas elabora clips de agrander y encogger, luego colocalos en los fotogramas del boton y listo...

Por samyphone

6 de clabLevel



Genero:Masculino  

colombia

msie
Citar            
MensajeEscrito el 01 Jul 2005 05:46 pm
otra cosa si no te interesa que se se agrande lentamente simplemente coloca en cada fotograma la imagen, pero eso si en cada fotograma cambiale el tamaño

Por samyphone

6 de clabLevel



Genero:Masculino  

colombia

msie
Citar            
MensajeEscrito el 01 Jul 2005 07:23 pm
a ver si te sirve esta otra opcion:

Código :


on (release) {
   if (MiVariable<=140) {
      MiVariable= 280;
   } else {
      MiVariable= 140;
   }
   _root.MiMC._width = MiVariable;
   _root.MiMC._height = MiVariable;
} 


esto te valdria si la imagen es cuadrada, sino deberias usar dos variables una para width y otra para height , aunque en el condicional solo hace falta una.
PD:140 se supone que es el tamaño origen, 280 el que deseas que aumente osea el doble.

Contesta para ver como te ha ido.

Por Silvestre_

391 de clabLevel

1 tutorial

 

"un simple aficionado", pero acepto propuestas de trabajo

firefox
Citar            
MensajeEscrito el 01 Jul 2005 07:46 pm

Código :

boton.onRelease=function(){
  Escala=(Escala==200) ? 100 : 200;
  MiMC._xscale=Escala;
  MiMC._yscale=Escala;
}

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 02 Jul 2005 11:11 am
Gracias javier me gusta tu codigo...
..un saludo.

Por Silvestre_

391 de clabLevel

1 tutorial

 

"un simple aficionado", pero acepto propuestas de trabajo

firefox
Citar            
MensajeEscrito el 02 Jul 2005 05:11 pm

Silvestre_ escribió:

Gracias javier me gusta tu codigo...
..un saludo.
:( gracias por desviar mi pregunta .. pero solamente dije .. que haciendo click sobre la imagen se agrade y si hago otro click que se redusca a su tamaño oirigiann nada mas ..

Pero muchas gracias revisara el codigo mas rato

Por Pley

Claber

2268 de clabLevel

8 tutoriales

 

Lima - Peru

msie
Citar            
MensajeEscrito el 02 Jul 2005 05:16 pm
Silvestre ..
esta linea " _root.MiMC._width " que significa???

O para generalizar . .podria Javier explicar el codigo que ha puesto ... :?

Por Pley

Claber

2268 de clabLevel

8 tutoriales

 

Lima - Peru

msie
Citar            
MensajeEscrito el 02 Jul 2005 05:28 pm
El código hace lo que pedías omartoha Multimedia.

Código :

boton.onRelease=function(){//boton, es el nombre de instancia de un boton, en tu pelicula
  Escala=(Escala==200) ? 100 : 200;//Escala identifica el valor de la escala actual, si esta grande lo hace pequeño y viceversa
  MiMC._xscale=Escala;
  MiMC._yscale=Escala;
}


Te recomiendo leas los tutoriales de introducción a Flash.

Saludos


pd: javierdaniel :wink:

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 02 Jul 2005 06:06 pm
Mira yo lo hago así:

Me creo un boton vacío, osea que solo tiene un cuadrado en el frame de zona activa del boton por lo tanto en el escenario es invisible.

Luego meto la imagen en un movie clip vacio ( ya sea como simbolo o con loadMovie) colocando el mc vacio en el escenario y dandole un nombre de instancia. Luego le pongo el boton sobre el MC vacio en el escenario y tb le doy un nombre de instancia y escribo este codiguito:

Código :

var crece:bool;

btn.onRelease = function 
{
   if(mc._xscale==100)
        crece=true;
   else
        crece=false;

    onEnterFrame=anima();
};

function anima()
{
   if (crece)
   {
      mc._xscale+=10;
      mc._yscale+=10;

      btn._xscale+=10;
      btn._yscale+=10;
   }
    else
   {
      mc._xscale-=10;
      mc._yscale-=10;

      btn._xscale-=10;
      btn._yscale-=10;
   }


    if (crece)
       if(mc._xscale>=200)
       {
           mc._xscale=200;
           mc._yscale=200;

           btn._xscale=200;
           btn._yscale=200;

           onEnterFrame=null;
       }
    else
       if(mc._xscale<=100)
       {
           mc._xscale=100;
           mc._yscale=100;

           btn._xscale=100;
           btn._yscale=100;

           onEnterFrame=null;
       }
}



De modo que el evento onEnterFrame anima el crecimiento de 10 en 10. y si vuelves a hace click en la imagen pos a reducirse, ya que tanto la imagen como el boton crecen a la vez.

Por MorphX

SWAT Team

982 de clabLevel

3 tutoriales

  SWAT

La Telaraña Digital

mozilla
Citar            
MensajeEscrito el 02 Jul 2005 06:31 pm
eso no lo hace o al menos no lo hace bien, se mantiene entre 100 y 110 :wink:

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 02 Jul 2005 06:40 pm
Ojo es el codigo anterior de Morphx pero mejorado y funciona :D

Código :

var crece:Boolean;
crece=true;
btn.onRelease = function()
{
    onEnterFrame=anima();
    trace(mc._xscale);
};

function anima()
{
   if (crece)
   {
      mc._xscale+=10;
      mc._yscale+=10;

      btn._xscale+=10;
      btn._yscale+=10;
     if (mc._xscale>=200) {crece=false;}
   }
    else
   {
      mc._xscale-=10;
      mc._yscale-=10;

      btn._xscale-=10;
      btn._yscale-=10;
       if (mc._xscale<=100) {crece=true;}
   }
} 

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 02 Jul 2005 06:40 pm
puede ser que me haya equivocado... de hecho lo he escrito directamente aki... ni lo he testeado... pero revisandolo.... pq dices ke solo aumenta una vez??????

Por MorphX

SWAT Team

982 de clabLevel

3 tutoriales

  SWAT

La Telaraña Digital

mozilla
Citar            
MensajeEscrito el 02 Jul 2005 06:43 pm
cierto está mucho más optimizado.. xD

Como digo lo he escrio a modo descriptivo para ke se viera (graficamente) lo ke se pretende, pero obviamte tu cóidigo Maikel es el ke se usaría realmente...

Pero deberias liberar el evento onEnterFrame

Por MorphX

SWAT Team

982 de clabLevel

3 tutoriales

  SWAT



Ultima edición por MorphX el 02 Jul 2005 06:45 pm, editado 1 vez

La Telaraña Digital

mozilla
Citar            
MensajeEscrito el 02 Jul 2005 06:44 pm
por esto:

Código :

if(mc._xscale==100)
        crece=true;
   else
        crece=false; 


echale un vistazo, cuando empieza es 100 bien crece es true y suma 10 es decir vale mc._xscale 110, volvemos al onRelease mc._xscale ya es 110 y crece = false, decrementa 10 y vuelve a 100, bueno y volvemos a lo mismo. :wink:

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 02 Jul 2005 06:46 pm
Maikel ya no pongo más código sin probarlo xD es cirerto que el onEnterFrame afecta al ambito desde donde se define... (jejeje ke ida de olla xD) claro mira dejando mi código (guarron) de antes ya corregido, reitero que el tuyo es mucho más optimizado ..

Código :

var crece:Boolean;
btn.onRelease = function()
{
   if(mc._xscale==100)
        crece=true;
   else
        crece=false;

    onEnterFrame=function()
   {
      if (crece)
      {
         mc._xscale+=10;
         mc._yscale+=10;
   
         btn._xscale+=10;
         btn._yscale+=10;
        
        if(mc._xscale>=200)
            {
             mc._xscale=200;
           mc._yscale=200;

           btn._xscale=200;
              btn._yscale=200;

            onEnterFrame=null;
         }
      }
       else
      {
         mc._xscale-=10;
         mc._yscale-=10;

         btn._xscale-=10;
         btn._yscale-=10;
        if(mc._xscale==100)
          {
             mc._xscale=100;
             mc._yscale=100;

             btn._xscale=100;
           btn._yscale=100;

           onEnterFrame=null;
         }
      }
   }
}


Y ahora si lo probé... digamos ke hago todas esas comprobaciones y leches por si el factor de incremento no es igual a un mutiplo de los valores que queremos alcanzar en el bucle.

P.D. Gracias por corregirme :)

Por MorphX

SWAT Team

982 de clabLevel

3 tutoriales

  SWAT

La Telaraña Digital

mozilla
Citar            
MensajeEscrito el 03 Jul 2005 04:00 am
MorphX escribio:

digamos ke hago todas esas comprobaciones y leches por si el factor de incremento no es igual a un mutiplo de los valores que queremos alcanzar en el bucle.

sip, pero con esta condicion no lo estas haciendo

Código :

if(mc._xscale==100)

al menos deberia ser

Código :

if(mc._xscale<=100)

Ojo menor, no mayor por el error que te corregi anteriormente.

El error que tenias te lo explico mejor, hasta yo lei mi post y no lo entendi :lol: :lol: :lol:

Lo que pasa es que la propiedad mc._xscale la primera vez es igual a 100, es decir que la condicion if (mc._xscale==100) se cumple, y la variable crece toma el valor true y luego al ejecutar la funcion animar la propiedad mc._xscale se incrementaba en 10 es decir quedaba enl 110, por lo tanto cuando se hacia otro click en el boton la condicion if (mc._xscale==100) no se cumplia e iba al else por lo que la variable crece toma el valor false, y cuando ejecutaba la funcion animar la propiedad mc._xscale se decrementaba en 10 y llegaba a 100, y volvemos a lo mismo... espero haberte explicado bien el error.

Ahora tranquilo yo tambien he cometidos errores codificando aqui mismo, no te aflijas por eso, aqui estamos para ayudarnos unos a los otros. Te cuento que me di cuenta del error fue para probar ese codigo y hacerlo para mis proyectos posteriores :wink:

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 03 Jul 2005 11:25 am
;) me dolió equivocarme pq lo escribí aki sobre la marcha y es algo que desarrollé hace unos meses para una aplicación flash y quedó perfecto, con muchas mas cosas consideradas, como es aspectratio entre fotos verticales y horizontales, desvanecimientos asociados al escalado, encuadre y demás todo animado y keda chuliísimo por eso equivocarme pos de dió rábia, y por eso mismo te agradezco que me advirtieras del error:)

En cuanto al condicional que indicas.. si es cierto... ha sido un error de escritura :P fijate que arriba pongo

Código :

 if(mc._xscale>=200) 


para forzar el 200 pos igual era para el decremento pero me esquivoké con el copipaste del condicional de la variable crece xD

Enga nos leemos :P

Por MorphX

SWAT Team

982 de clabLevel

3 tutoriales

  SWAT

La Telaraña Digital

mozilla
Citar            
MensajeEscrito el 04 Jul 2005 08:39 am

omartoha Multimedia escribió:

Silvestre ..
esta linea " _root.MiMC._width " que significa???

O para generalizar . .podria Javier explicar el codigo que ha puesto ... :?


disculpar todos los demas post no los he leido..

veamos omar...

yo en un principio use width y height.
Esto seria el ancho y alto de tu MovieClip<_root.MiMC>.

imagino que entendiste lo del condicional if etc.

Bien, javier lo simplifico usando Action Script.

Su funcion es la misma que la mia, con una modificacion sustancial, en vez de modificar el tamaño<with,height>, modifica el porcentage<xscale,yscale>, y en vez de usar el condicional tradicional<if> usa otra forma AS que es

Código :

Escala=(Escala==200) ? 100 : 200;

indica que si escala es igual a 200, <en este caso se refiere a porcentage esto seria al 200%>pues te hace la primera opcion 100% y si no es verdad<?> hace la segunda que seria colocarte el MC al doble que seria el 200%.

pd:creo que es asi, las funciones y los codigos se pueden escribir de muchas formas para un mismo resultado.
Ah!! y no hace falta que sea un boton ni nada por el estilo sobre un MC tambien puedes poner eventos.

Por Silvestre_

391 de clabLevel

1 tutorial

 

"un simple aficionado", pero acepto propuestas de trabajo

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.