Comunidad de diseño web y desarrollo en internet online

ayuda, que me ahogo en un vaso de agua!

Citar            
MensajeEscrito el 27 Abr 2009 01:20 pm
Gente sapiente, quiero dar unos pasos en AS 3 y el programa insiste en cortarme las piernas! Quiero hacer esto: que al pasarle a un mc por arriba con el mouse, se ilumine....(tendria que saberlo :( . Para esto cree una instancia de un clip en el escenario y le di el nombre de producto (en la biblioteca se llama productos).
en un archivo Iluminara.as

Código :

package {
   import flash.display.MovieClip;
   import flash.filters.ColorMatrixFilter;
   import fl.transitions.Tween;

   public class Iluminara {
               public function Iluminara(evt:MouseEvent) {
            darBrillo(evt.target,0,100);
      }
      
      public function brillo(prop, oldVal, newVal, clip):void {
         var brillo_array:Array = [1, 0, 0, 0, newVal, 0, 1, 0, 0, newVal, 0, 0, 1, 0, newVal, 0, 0, 0, 1, 0];
         clip.filters = [new ColorMatrixFilter(brillo_array)];
      }
   
      public new Tween(clip, "brillo", )function darbrillo(clip, ini, fin):void {
         clip.watch("brillo",brillo,clip);
         var easing:Object = new Tween(clip, "brillo", Strong.easeOut, ini, fin, .5, true);
      }
      
      
   }
   
}


y en el primer frame del .fla:

Código :

import Iluminara; 
producto.addEventListener(MouseEvent.MOUSE_OVER, Iluminara);

Desde ya gracias!!!

Por pelota_ros

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Abr 2009 03:05 pm
Ros, hay en tu código algo de lío. Supongo que querías hacer algo como

Código ActionScript :

package {
   import flash.display.MovieClip;
   import flash.filters.ColorMatrixFilter;
   import fl.transitions.Tween;

   public class Iluminara extends MovieClip{
       public function Iluminara(){
                   this.addEventListener(MouseEvent.MOUSE_OVER, onClick);
      }
      public function onClick(e:Event){
            darBrillo(evt.target,0,100);
      }

      public function brillo(prop, oldVal, newVal, clip):void {
         var brillo_array:Array = [1, 0, 0, 0, newVal, 0, 1, 0, 0, newVal, 0, 0, 1, 0, newVal, 0, 0, 0, 1, 0];
         clip.filters = [new ColorMatrixFilter(brillo_array)];
      }
   
      public new Tween(clip, "brillo", )function darbrillo(clip, ini, fin):void {
         clip.watch("brillo",brillo,clip);
         var easing:Object = new Tween(clip, "brillo", Strong.easeOut, ini, fin, .5, true);
      }
   }
}

y NO poner NADA de código en tu película principal.

Vamos por parte
1.-tu Clase Iluminara ha de tener una función llamada igual (a esa función se le llama "constructor"). Es ahí donde aprovechamos para añadir los listeners sino queremos hacerlo en la película principal.
2.-Si añadimos los listeners en la película principal, la función ha de estar asímismo en la película principal
3.-tu clase DEBE "extender" de MovieClip (ese "extends MovieClip" que he añadido) o de DisplayObject (o de Sprite, o de Shape) o de alguna clase de Flash que admita un MouseEvent.
4.-No podemos tener un "método" (un función pública definida en la clase) con el mismo nombre que la Clase -salvo el constructore, que debería servir sólo para inicializar variables y añadir listeners.

La otra opción sería escribir el código del listener y las funciones brillo y onClick en la propia película principal no escribiendo nada en la clase

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Abr 2009 04:19 pm
Gracias por responderme. La verdad es que no me funcionó. Pero la "mayor" verdad es que recien empiezo y no arranco con AS. Ni siquiera sin clases. Hay algo que no se que me impide conseguir lo que deseo y aprender lleva tiempo...que no tengo :(. No serás de Argentina/Santa Fe, como para darme unas clases de ayuda. Yo para no abusar de tu tiempo! Ahora voy a poner un script en el foro de AS 2 que no me funciona, no tiene clases (hechas por mi) pero no funciona tampoco. Me tiene loco y no encuentro el bug. Otra vez 1000 gracias! Andres.

Por pelota_ros

8 de clabLevel



 

firefox

 

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