Forums Développement Multimédia

Aller au contenu

Tween sur des clip créés dynamiquement (XML)

CODE Actionscript

2 réponses à ce sujet

#1 nina_bee

    Ceinture Orange

  • Members
  • PipPipPip
  • 31 messages

Posté 21 May 2008 - 14:29 PM

bonjour à tous!
voila j'aimerais créer une anim en AS3 telle que :
- le data soit chargé via un fichier XML
- une fois arrivée sur la scène, l'alpha de l'image diminue pour arriver à 0

pour l'instant tout marche bien sauf cette histoire d'alpha

voila le code :

Action Script


/********* IMPORTAION DES CLASSES DE TWEEN *****/
import fl.transitions.Tween;
import fl.transitions.easing.*;


/******* XML **********/
var xmlLoader:URLLoader = new URLLoader();
var X:XML = new XML();
xmlLoader.addEventListener(Event.COMPLETE, loadXml);
xmlLoader.load(new URLRequest('http://monsite/anim.xml'));

function loadXml(e:Event):void{
X = new XML(e.target.data);
parse(X);
}

/******* INIT DES VARIABLES ******/
var clipConteneur:MovieClip
var conteneurImage:Loader = new Loader();
var posX:Number = 0;

/******** TRAITEMENT DU DATA *******/
function parse(myInput:XML):void{
var imageURLliste:XMLList = myInput.item.image;
for each(var image_url:XML in imageURLliste){
var clipConteneur:MovieClip = new MovieClip();
var conteneurImage:Loader = new Loader();
var imageRequest:URLRequest = new URLRequest(image_url);
conteneurImage.load(imageRequest);
clipConteneur.addChild(conteneurImage);
conteneurImage.x = posX;
posX +=500;
this.addChild(clipConteneur);



}
}

var myTweenAlpha:Tween = new Tween(clipConteneur, "alpha", Strong.easeOut, 0, 1, 3, true);

quand je test j'ai une erreur :
TypeError: Error #1009: Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul.
at fl.transitions::Tween/setPosition()
at fl.transitions::Tween/set position()
at fl.transitions::Tween$iinit()
at anim/::frame1()

voila vous aurez compris que j'ai besoin d'un coup de main pour débugger tout ça.
Merci d'avance

Beee

#2 nina_bee

    Ceinture Orange

  • Members
  • PipPipPip
  • 31 messages

Posté 21 May 2008 - 16:44 PM

icon_idea.gif ok je pense tenir un début de solution....
quand je rentre le tween dans ma fonction parse ca marche.

#3 achrafchouk

    Ceinture Jaune

  • Members
  • PipPip
  • 27 messages

Posté 22 May 2008 - 16:23 PM

Coucou smile.gif

Et comme ceci ?
(sans tests)

Action Script

/********* IMPORTAION DES CLASSES DE TWEEN *****/
import fl.transitions.Tween;
import fl.transitions.easing.*;

/******* INIT DES VARIABLES ******/
var clipConteneur:MovieClip;
var conteneurImage:Loader;
var posX:Number = 0;
var X:XML;

/******* XML **********/
var xmlLoader:URLLoader = new URLLoader();
xmlLoader.addEventListener(Event.COMPLETE, loadXml);
xmlLoader.load(new URLRequest('http://monsite/anim.xml'));

function loadXml(e:Event):void
{
X = new XML(e.target.data);
var imageURLliste:XMLList = X.item.image;

for each(var image_url:XML in imageURLliste)
{
clipConteneur = new MovieClip();
conteneurImage:Loader = new Loader();
conteneurImage.load(new URLRequest(image_url));

clipConteneur.addChild(conteneurImage);
conteneurImage.x = posX;
posX +=500;

new Tween(clipConteneur, "alpha", Strong.easeOut, 0, 1, 3, true);
this.addChild(clipConteneur);
}
}

Tu devrais chercher les createEmptyClip plutôt (je te lance peut-etre sur une fausse piste icon_confused.gif)



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

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