Comunidad de diseño web y desarrollo en internet online

modificar alpha con action script

Citar            
MensajeEscrito el 26 Nov 2005 05:51 pm
Hola a todos/as, me gustaría saber como cambiar la opacidad de un símbolo gráfico por medio de action scrpt.

Tengo un símbolo gráfico y quiero adjudicarle la acción de OnRollover y OnRollout,

En OnRollover, querría que el símbolo gráfico hiciera un alpha hasta 50% de forma gradual, es decir, que se viera como va volviendose transparente.

Y en OnRollout, que el mismo símbolo gráfico volviera a su estado original, con el alpha a 100%, también de forma gradual.

A ver si me podeis echar un cable. Saludos.

Por nigthcrawler

16 de clabLevel



 

msie
Citar            
MensajeEscrito el 26 Nov 2005 06:25 pm
Pues mediante la propiedad _alpha:

Código :

mc._alpha = valor

En cuanto a lo otro, pues + o - así:

Código :

mc.onRollOver = function() {
   this.onEnterFrame = function {
      if( this._alpha > 50 ) this._alpha -= valor;
      else delete this.onEnterFrame;
   }
}

mc.onRollOut = function() {
   this.onEnterFrame = function {
      if( this._alpha < 100 ) this._alpha += valor;
      else delete this.onEnterFrame;
   }
}


No lo he probado pero creo que funciona. Ajusta valor dependiendo de la velocidad que quieras. Lo he hecho muy sencillo, pero te puede servir como base para adaptarlo a tus necesidades.

Por Gengis

27 de clabLevel



 

Córdoba(España)

firefox
Citar            
MensajeEscrito el 26 Nov 2005 06:56 pm
bajate las extenciones de
http://laco.wz.cz/tween/

instalalas y reinicia el flash,
despues en el frame principal mete este codigo

Código :

#include "lmc_tween.as" for ActionScript 2.0 (runs fine on Flash Player 6) or 
#include "lmc_tween_as1.as" for ActionScript 1.0 you can use following methods for every 


y para llamar un alpha a 0 usa esto

Código :

LO_QUE_SEA_MC.tween("_alpha",0)


si lees la ayuda del prototype "tween" vas a poder hacer cosas muy interesantes.

Por afterawer

14 de clabLevel



Genero:Masculino  

Neuquen

firefox
Citar            
MensajeEscrito el 27 Nov 2005 03:32 pm
Gracias por vuestras respuestas, pero no he conseguido hacerlo todavía.

Podría hacerlo con interpolaciones de movimiento dentro de un movie clip, pero he pensado que con action script sería mejor.

He probado el código de Gengis modificando "mc" por el nombre de la instancia de mi movie clip como única modificación y no me funciona, me sale el siguiente error al cargar

**Error** Escena=Escena 1, capa=Capa 2, fotograma=1:Línea 2: Se espera nombre de función
this.onEnterFrame = function {

**Error** Escena=Escena 1, capa=Capa 2, fotograma=1:Línea 9: Se espera nombre de función
this.onEnterFrame = function {

Por nigthcrawler

16 de clabLevel



 

msie
Citar            
MensajeEscrito el 27 Nov 2005 04:09 pm

Código :

this.onEnterFrame=function(){
...
}

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 02 Dic 2005 03:47 am
Todavía no lo he conseguido compañeros, a ver si alguien lo sabe y es tan amable de escribirlo.

:crap:

Por nigthcrawler

16 de clabLevel



 

msie
Citar            
MensajeEscrito el 02 Dic 2005 04:09 am
emmm, a ver todos lo que contestaron es un simbolo de tipo GRAFICO, es decir, no se le puede asignar acciones, ni nombre de instancia, en fin nada.

solución mete el simbolo de tipo gráfico en un simbolo de tipo MovieClip y haz lo que te indicaron ellos, o simplemente que no sea un simbolo Grafico sino MovieClip

saludos :)

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 02 Dic 2005 06:45 am
y que no se te olvide:

en las propiedades de vinculacion :

Exportar para ActionEscript y
Exportar en primer fotograma.

Por J

148 de clabLevel



 

netscape
Citar            
MensajeEscrito el 05 Dic 2005 02:02 am
Si, a pesar de lo que escribi en mi primer mensaje, lo he probado desde el principio con un movie clip, y me sigue dando error.

¿A vosotros/as os funciona con ese código?

¿Conoceis algún ejemplo .fla parecido?

Por nigthcrawler

16 de clabLevel



 

msie
Citar            
MensajeEscrito el 05 Dic 2005 02:18 am
un pequeño ejemplo que hice:

link


saludos :)

PD: por favor avisame cuando lo descargues para quitarlo :wink:

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 05 Dic 2005 09:19 am
¿le pusiste el nombre del mc en propiedades?
todo esto es mas simple de lo que te imaginas
1º no nesecitas exportarlo para as sino simplemente en propiedades donde dice "nombre de instancia" reemplazarlo por xxx_mc
2º siguiendo con el codigo de gengis pero arreglandole un par de detalles :

Código :

valor = 100;
xxx_mc.onRollOver = function() {
   xxx_mc.onEnterFrame = function() {
      if(valor>20)valor = valor-6;
      xxx_mc._alpha = valor;
   };
};
xxx_mc.onRollOut = function() {
   this.onEnterFrame = function() {
      if(valor<100)valor = valor+6;
      xxx_mc._alpha = valor;
   };
};


el codigo que no entiendas buscalo en el diccionario de AS que esta en la ayuda de flash
esto esta probado, funciona '^^'

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 11 Dic 2005 03:44 am
Muchas gracias por tu respuesta inyaka, ahora si que me funciona. Gracias a todos, y perdona Maikel, he leído vuestras respuestas demasiado tarde y ya no se encontraba tu ejemplo fla disponible para descargar.

Un saludo.

Por nigthcrawler

16 de clabLevel



 

msie
Citar            
MensajeEscrito el 11 Dic 2005 03:47 am
:oops: lo quite hace rato, y justo se parecia mucho a el codigo de inyaka, ya lo subo de nuevo :P

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 11 Dic 2005 06:54 am
en verdad no cree nada solo simplifique el ejemplo de gengis y el de maikel, creo (ya no me acuerdo bien) lo que comprueba la fraze de zah(o ciceron) que enseñando se aprende pues algo aprendi con este post (onEnterFrame)

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 11 Dic 2005 11:08 am
Con la licencia de ustedes me voy a permitir la libertad de matizar el código de inyaka, pues observo que no se ha eliminado el >onEnterFrame< y esto no es aconsejable, ya que el programa sigue ejecutándolo aunque el MovieClip que lo originó salga de escena.
Además, una vez comprobado que hemos alcanzado el nivel de alfa o la situación deseadas, corrigo esta posición, y la fijo al valor deseado (en este caso es >_alpha< y este aspecto no tiene mayor importancia, pero si fuera una posición si que la tendría ya que cada vez que entraramos y salieramos del clip haría un movimiento igual al incremento). Esto lo hace el ultimo >if<.
Este el código matizado:

Código :

valor = 100;
xxx_mc.onRollOver = function () {
   xxx_mc.onEnterFrame = function () {
      if (valor > 20) {
         valor = valor - 6;
      }
      xxx_mc._alpha = valor;
      trace (valor);
      if (valor <= 20) {
         valor = 20;
         delete this.onEnterFrame;
      }
   };
};
xxx_mc.onRollOut = function () {
   this.onEnterFrame = function () {
      if (valor < 100) {
         valor = valor + 6;
      }
      xxx_mc._alpha = valor;
      trace (valor)
      if (valor >= 100) {
      valor = 100;
      delete this.onEnterFrame;
      }
   };
};

Por antonio_L

161 de clabLevel



Genero:Masculino  

de Linares

firefox
Citar            
MensajeEscrito el 11 Dic 2005 05:53 pm

inyaka escribió:

en verdad no cree nada solo simplifique el ejemplo de gengis y el de maikel, creo (ya no me acuerdo bien) lo que comprueba la fraze de zah(o ciceron) que enseñando se aprende pues algo aprendi con este post (onEnterFrame)


ah con razon te falto liberar el onEnterFrame :lol: ,

Código :

 this.onEnterFrame = null


lo puse con toda la intención :wink:

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 12 Dic 2005 02:25 am
Yo he probado el de Antonio y no me funciona, el único que me funciona es el inyaka.

El efecto es el siguiente: al pasar por encima del movieclip, este hace un alpha gradual hasta desvanecerse, cuando no lo seleccionas vuelve a su estado normal.

¿Pero y si fuera al revés? es decir, que primero se encontrara el movieclip a un 50% de alpha y al pasar por encima se pusiera al 100%

Por nigthcrawler

16 de clabLevel



 

msie
Citar            
MensajeEscrito el 18 Dic 2005 08:11 pm
el mio te funciono por su simpleza ahora que funciona complicalo un poco
y le agregas "this.onEnterFrame = null ;"
PD. gracias Antonio por la correccion, la tendre en cuenta cuando nececite el onEnterFrame

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

msie

 

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