Comunidad de diseño web y desarrollo en internet online

Array me devuelve NULL

Citar            
MensajeEscrito el 18 Nov 2010 01:59 pm
Hola estoy armando un Array con los mc de mi stage para asignarles la misma funcion, uso forEach

Creo el array:

Código ActionScript :

private var ArrayTween:Array = new Array (footer_mc, links_mc, mp3player_mc, legal_mc);


Llamo la funcion en la public function:

Código ActionScript :

ArrayTween.forEach(tweenInicial);


Y esta es mi funcion:

Código ActionScript :

private function tweenInicial(item:*, index:int, array:Array):void{
         trace("Elemento " + index + " del Array: " + item);
      }


El trace me vuelve null, o sea que no esta reconociendo los elementos del array

¿Que estare haciendo mal?

Este fue el ejemplo que encontre en un tip de cristalab:

Código ActionScript :

private var myArray:Array = new Array (mc1, mc2, mc3);
private function myForEachFunction (item:*, index:int, array:Array):void
{
   item.moveToNextPos ();
}
myArray.forEach (myForEachFunction);

Por dianita666

Claber

185 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Nov 2010 02:36 pm
bien, en vez de crear el array como una variable private en la public class, lo declare en la public function y funciono!!!!
Ya me detecta los mc del array, ahora no se como asignarle la funcion que quiero a los elementos del array,

asi quedo mi code:

Código ActionScript :

package clases{
   
   public class Main extends MovieClip{

      public function Main(){
      var ArrayTween:Array = new Array (footer_mc , links_mc, mp3player_mc, legal_mc);
      ArrayTween.forEach(tweenInicial);
      }
      
      private function tweenInicial(item:*, index:int, array:Array):void{
         //trace("Elemento " + index + " del Array: " + item);
         item.mover();
      }
      
      private function mover(e:Event):void{
         x+=1;
         }
}
}


Pero me da este error:

Código ActionScript :

TypeError: Error #1006: mover no es una función.
   at clases::Main/tweenInicial()
   at Array$/_forEach()
   at Array/http://adobe.com/AS3/2006/builtin::forEach()
   at clases::Main()

Por dianita666

Claber

185 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Nov 2010 03:04 pm
la función mover debería estar definida en el MovieClip para que pudieras hacer eso

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 18 Nov 2010 03:06 pm
Hola Jorge!!
mira lo hice asi:

Código ActionScript :

private function tweenInicial(item:*, index:int, array:Array):void{
         TweenMax.to(item, 5, {colorMatrixFilter:{colorize:0xff0000}});
}      


Me sale esto:

Código ActionScript :

Advertencia: no se representará el filtro.  Las dimensiones filtradas del objeto DisplayObject (360001, 31) son demasiado grandes para poder dibujarlo.


Pero si aplica el filtro
¿Que opinas?

Por dianita666

Claber

185 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Nov 2010 03:09 pm
Debería leerme la dicumentación de TweenMax, pero parece que colorMatrixFilter no puede ser aplicado sobre ese tipo de item

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 18 Nov 2010 03:47 pm
Lo aplique asi y ya no da problema:

Código ActionScript :

private function tweenInicial(item:*, index:int, array:Array):void{
         TweenMax.to(item, 2, {colorTransform:{brightness:1}});
      }


Ahora vamos a pliacarlo todo completo:
Lo que quiero es que los mc de mi array al iniciar la peli pasen de brightness:0 a brightness:1
tweenInicial funciona,
ahora el problema viene cuando quiero darle los valores iniciales al array en la funcion constructora, lo hago asi pero obvio no reconoce la variable item porque esta declarada en una funcion privada:

Código ActionScript :

TweenMax.to(item, 0, {colorTransform:{brightness:0}});

Por dianita666

Claber

185 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Nov 2010 06:21 pm
Claro, tienes que usar un forEach si quieres aplicar eso a todos los elementos del array

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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