Probleme reassemblage d'image

Probleme reassemblage d'image - Flash/ActionScript - Programmation

Marsh Posté le 13-06-2008 à 15:41:04    

Bonjour,
 
Je débute en Actionscript, et je commence déja à bloquer. Voilà un petit moment déja que je cherche à creer un départiculateur.
J'ai réussi à générer des particules, puis avec un random, leur faire faire des mouvements aléatoires, avant de rassembler tout mes rectangles pour former un seul élément sur ma page.
 
Maintenant je cherche à reconstituer une image, de la meme maniere que mes rectangles se rassemblent, en pensant que chacun de mes rectangles n'est plus générés, mais que tout les morceaux de mon image se trouvent dans la bibliotheque.
 
Aprés avoir lu les tutoriaux, je ne dois pas avoir encore la bonne logique, car je n'arive plus à avancer.
 
Mes images ont pour nom img[i].jpg, avec i allant de 1 a 49 et l'image doit se reconstituer en ligne, de gauche à droite.
 
Voici mon code avec les rectangles générés: (dans la premiere image clé);
 
 
 
import caurina.transitions.Tweener;
 
var i:int = 0;
 
var tableau:Array = new Array('35434565|654654' , '1' );
 
var xy:Array = tableau[ 0 ].split('|');
 
var listeparticule:Array = new Array();
 
var ligne:int = 0;
var rangée:int =0;
var hauteur_image_reconstitué:int = 210;
var largeur_image_reconstitué:int = 90;
var nmbre_de_particule:int = (hauteur_image_reconstitué/30)*(largeur_image_reconstitué)/30;
var timer:Timer = new Timer( 20 , 60 );
 
timer.addEventListener(TimerEvent.TIMER , go );
 
timer.start();
 
 
var fin:Timer = new Timer( 3000 , 1);
fin.start();
fin.addEventListener(TimerEvent.TIMER , reconstruire);
 
function go( e:TimerEvent ):void
{
 createObj();
 i++;
 
}
function createObj():void
{ var menu:Sprite = new Sprite();
 with( menu )
  {  
   x = 0;
   y = 0;
   if( i%3 == 0)
   {   graphics.beginFill( 0xaaaaaa , 1 );
   }
   else
   { graphics.beginFill( 0xaaaaaa , 0.5 );
   }
   graphics.drawRect( 0 , 0 , 107 , 103 );
   graphics.endFill();
   name = i;
  }  
 addChild( menu );
 Tweener.addTween(menu,{x: Math.random()*1280, y: Math.random()*1024 , rotation: (Math.random()*180), time: 1 , transition:'Linear' , onComplete: moveAgain , onCompleteParams: [ menu ]});
 listeparticule.push( menu );
 
}
function moveAgain( menu ){
 Tweener.addTween(menu,{x: Math.random()*1280, y: Math.random()*1024 , rotation: (Math.random()*180), time: 1 , transition:'Linear' , onComplete: moveAgain , onCompleteParams: [ menu ]});
}
 
var v:int =0;
var r:int=0;
function reconstruire(e:TimerEvent){
 
 for( var i in listeparticule )
 { Tweener.removeTweens(listeparticule[i]);
   
  if( i/10 is int && i/10 != 0)
  { v++;
   r = 0;    
  }  
  Tweener.addTween(listeparticule[ i ],{x: 86 + 107*r, y: 220.3+ 103 * v , rotation: 0, time: 1 , transition:'Linear' });
  r++;
 }
 
}
 
 
Je suis désolé si l'indentation n'est pas exelente, je suis vraiment débutant.
 
Merci pour votre aide.
 
Adresse email pour le fichier swf : damdelonge182@hotmail.com
 

Reply

Marsh Posté le 13-06-2008 à 15:41:04   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed