Forums Développement Multimédia

Aller au contenu

Erreur sur une TweenLineMax dans un fichier externe

PAO Flash

1 réponse à ce sujet

#1 biumiz

    Ceinture Jaune

  • Members
  • PipPip
  • 22 messages

Posté 23 September 2013 - 16:54 PM

Bonjour à tous,

J'essaie de mettre en place une animation TweenLineMax avec des fichiers externes. Mais j'ai une erreur

Voici l'extrait de code en AS3 :

package  {

import flash.display.Sprite;
import com.greensock.*;
import com.greensock.easing.*;
import com.greensock.TimelineMax;
import flash.display.MovieClip;

public class test3 extends Sprite{

  public static var rond1 : Sprite;
  public static var rond2 : Sprite;
  public static var rond3 : Sprite;
  public static var box_array : Array ;
  public static var timeline : TimelineMax;
  public static var key;
  public static var mc;
 
  public function test3() {
 
   rond1 = new Sprite();
   rond1.graphics.beginFill(0x4578ad)
   rond1.graphics.drawCircle(0,0,35)
   rond1.x = 100;
   rond1.y = 200;
 
   addChild(rond1)
 
   rond2 = new Sprite();
   rond2.graphics.beginFill(0x4578ad)
   rond2.graphics.drawCircle(0,0,35)
   rond2.x = 450;
   rond2.y = 200;
 
   addChild(rond2)
 
   rond3 = new Sprite();
   rond3.graphics.beginFill(0x4578ad)
   rond3.graphics.drawCircle(0,0,35)
   rond3.x = 800;
   rond3.y = 200;
 
   addChild(rond3);
 
  }


public static function animer(){
trace("ça bouge")

box_array = new Array(rond1, rond2, rond3);
timeline = new TimelineMax();

for ( key = new  String in box_array) {

mc = new MovieClip = MovieClip (box_array [key]);
timeline.append(TweenMax.to(mc, 1, {delay :5 , y:140 , ease:Elastic.easeIn}));
timeline.append(TweenMax.to(mc, 0.5, {scaleX:1.5, scaleY:1.5}));
timeline.append(TweenMax.to(mc, 0.5, {rotation:360,x:850, scaleX:0.5, scaleY:0.5}));
timeline.append(TweenMax.to(mc, 0.01, {alpha:0, scaleX:0, scaleY:0}));
timeline.append(TweenMax.to(mc, 0.1, {alpha:1, scaleX:1, scaleY:1}));    
timeline.append(TweenMax.to(mc, 0.5, {y:-5, alpha:0 }));
}


}
}

}
 

La fonction "animer" est appelée à partir d'un autre fichier externe.

L'erreur affichée est :
Line 55 1105: Target of assignment must be a reference value.

Je suppose que les éléments déclarés dans le tableau ne sont pas bons. Mais je ne vois pas comment faire mieux.

Est-ce que quelq'un à la solution ?

Merci

En pièce jointe l'intégralité des fichiers pour tester.

Fichier(s) joint(s)

  • Fichier joint  test3.fla   5.45 Ko   6 téléchargement(s)
  • Fichier joint  main_test3.as   725 octets   6 téléchargement(s)
  • Fichier joint  test3.as   1.7 Ko   7 téléchargement(s)


#2 biumiz

    Ceinture Jaune

  • Members
  • PipPip
  • 22 messages

Posté 24 September 2013 - 11:23 AM

Bonjourà tous,

J'ai fini par trouver mes erreur !!!


Le code et les fichiers pour ceux que ça intéresse :

package  {

import flash.display.Sprite;
import com.greensock.*;
import com.greensock.easing.*;
import com.greensock.TimelineMax;
import flash.display.MovieClip;

public class test3 extends Sprite{

  public static var rond1 : MovieClip;
  public static var rond2 : MovieClip;
  public static var rond3 : MovieClip;

  public function test3() {
 
   rond1 = new MovieClip();
   rond1.graphics.beginFill(0x4578ad)
   rond1.graphics.drawCircle(0,0,35)
   rond1.x = 100;
   rond1.y = 200;
 
   addChild(rond1)
 
   rond2 = new MovieClip();
   rond2.graphics.beginFill(0x4578ad)
   rond2.graphics.drawCircle(0,0,35)
   rond2.x = 450;
   rond2.y = 200;
 
   addChild(rond2)
 
   rond3 = new MovieClip();
   rond3.graphics.beginFill(0x4578ad)
   rond3.graphics.drawCircle(0,0,35)
   rond3.x = 800;
   rond3.y = 200;
 
   addChild(rond3)  
  }// fin fonction test3
public static function animer(){
trace("ça bouge")

var box_array : Array = new Array(rond1, rond2, rond3);
var timeline : TimelineMax = new TimelineMax();
for (var key : String in box_array) {

var mc : MovieClip = MovieClip (box_array [key]);
timeline.append(TweenMax.to(mc, 1, {delay :1 , y:140 , ease:Elastic.easeIn}));
timeline.append(TweenMax.to(mc, 0.5, {scaleX:1.5, scaleY:1.5}));
timeline.append(TweenMax.to(mc, 0.5, {rotation:360,x:900, scaleX:0.5, scaleY:0.5}));
timeline.append(TweenMax.to(mc, 0.01, {alpha:0, scaleX:0, scaleY:0}));
timeline.append(TweenMax.to(mc, 0.1, {alpha:1, scaleX:1, scaleY:1}));    
timeline.append(TweenMax.to(mc, 0.5, {y:-5, alpha:0 }));
         }// fin boucle for
        }//fin fonction animer
   }// fin classe test3
}// fin package
 

Fichier(s) joint(s)

  • Fichier joint  test3.fla   5.97 Ko   7 téléchargement(s)
  • Fichier joint  main_test3.as   725 octets   6 téléchargement(s)
  • Fichier joint  test3.as   1.69 Ko   8 téléchargement(s)




1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)