AS 3 problème de quadrillage aléatoire de pieces

nray Messages postés 12 Date d'inscription dimanche 24 décembre 2000 Statut Membre Dernière intervention 18 mars 2010 - 17 mars 2010 à 16:56
nray Messages postés 12 Date d'inscription dimanche 24 décembre 2000 Statut Membre Dernière intervention 18 mars 2010 - 18 mars 2010 à 09:09
Bonjour à tous,

Au secours !! J'ai beau tourner mes arguments dans tous les sens, impossible d'arriver à l'effet escompté, à savoir : je charge dynamiquement des clips qui se placent en un quadrillage de 5 lignes et 4 colonnes. Mes images se placent parfaitement bien mais uniquement dans l'ordre d'arrivée. Or je veux qu'à chaque rechargement de mon .swf, mes clips se positionnent à des places différentes dans le quadrillage...

Voici (une partie de) mon code :

var listePieces:Array=new Array;
var spliced:Array;
var pieceX:int=-79;//-8;	
var pieceY:uint=170;

var listePiecePuzze:Array=new Array();
var longueurlistePiecePuzze:int=0;
var listePiecesMelanges:Array=new Array();
var nbPieces:uint=20;
var piecesRestantes:uint=nbPieces;
var auHasard:uint;

for (var i:int=0; i<=19; i++) {
//CHARGER & PLACER LES PIECES  4 colonnes et sur 5 lignes
listePieces.push(i);				
trace("listes des pieces="+listePieces);

auHasard=Math.ceil(Math.random()*piecesRestantes);				
trace("auHasard="+auHasard);
spliced=listePieces.splice(auHasard,0);
trace("listes des pieces Spliced="+listePieces);
trace("spliced="+spliced);
listePiecesMelanges.push(spliced);
trace("listeVignettesMelangees="+listePiecesMelanges);
   				piecesRestantes--;

// Réserver un espace mémoire pour charger la photo
cadre = new Loader();
// Créer une occurrence chaque piece
piece = new Sprite();
// Charger les photo associée au compteurPhoto
adresse.url="images/image"+numeroSerie+"/image"+compteurPhoto+".jpg";//numj
//adresse.url="images/image"+numeroSerie+"/image"+i+".jpg";
cadre.load(adresse);
pieceX+=85;	
if (pieceX>=341){
pieceY+=70;
pieceX=6;
}
piece.x=pieceX;
piece.scaleX=0.6;
piece.y=pieceY;
piece.scaleY=0.6;

piece.addChild(cadre);
addChild(piece);
piece.name=""+compteurPhoto;//piece.name=""+i;
//trace("piece.name="+piece.name);
compteurPhoto++;
piecesRestantes--;
trace("piecesRestantes="+piecesRestantes);
}
}

2 réponses

Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
17 mars 2010 à 22:07
Hello,

Essaie de mettre un random :
listePieces.push(Math.round(Math.random()*i)); 



-- Orange73 --

"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
0
nray Messages postés 12 Date d'inscription dimanche 24 décembre 2000 Statut Membre Dernière intervention 18 mars 2010
18 mars 2010 à 09:09
Bonjour Orange 73,

Merci pour ta suggestion intéressante, mais ça ne change rien et je ne voit pas pourquoi...
Quelqu'un a t'il une autre suggestion ou un complément d'information à me donner??
0