begin process at 2012 05 27 22:41:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

tableau deux dimentions


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

tableau deux dimentions

lundi 17 juillet 2006 à 18:19:57 | tableau deux dimentions

georgeconst

salut a tous
C'est la premiere fois que je participe a un forum alors si qqch cloche n'esitez pas a me le faire remarquer..

j'ai un probleme avec actionscript2.
j'ai un tableau deux dimention qui stoque des movieclip. Quand je veux les suprimer j'utilise une fonction decharge avec les coordonnees x et y de la case du tableau qui fait un removeMovieClip.
Le probleme est le suivant : une fois le terrain affiché, 

  trace (tabTerrain[b][a].getDepth());
ainsi que   tabTerrain[b][a].removeMovieClip();

ne fonctionnent que pour ma derniere ligne de sorte que seul les cases du bas de mon terrain sont effacable..
Ca fait un momment que ca me gonfle alors qi vous avez une idee je suis preneur..

le code :

CLASSE Terrain2

class Terrain2 {
 
 
//*************************** proprietes **************************************
 
 private var matrice:Array = new Array();
 private var tabTerrain:Array = new Array();
 
 private var espac:Number = 6;  //espacement entre les cases
 private var dispo:Number = 50;  //disposition par rapport a l'origine
 
 private var x:Number=0;   //definition de x pour la boucle for
 private var y:Number=0;   //definition de y pour la boucle for
 
 private var i:Number=0;   //definition de i pour la boucle for
 private var j:Number=0;   //definition de j pour la boucle for
 
    private var ligne:Array= new Array();  //tableau qui sert a faire un tabTerrain a 2 dimentions
 
 private var denomination:String = ""; //denomination des cases
 private var numero:Number = 10;  //numero de decalage des cases
    
  
//**************************** constructeur ************************************ 
 
 
 public function Terrain2(tab:Array){
  
  matrice = tab;
  trace("appel du constructeur");
  createTabloVide();
    
 }
 
//**************************** methodes ****************************************
 
 private function createTabloVide():Void{
  
  trace ("fonction createTabloVide");
  //ligne=[];
  
  for (i=0;i<getHauteur();i++){
   for(j=0;j<getLongeur(i);j++){
    //ligne.push("");
    ligne.push(0);
   }
   tabTerrain.push(ligne);
  }
 }
 
 public function getLongeur(x:Number):Number{
  return matrice[x].length;
 }
 
 public function getHauteur():Number{
  return matrice.length;
 }
 

 public function traceTerrain():Void{
 
  for (y=0; y < getHauteur(); y++){
   //trace("les y: " + y);
 
   for (x=0; x < getLongeur(y); x++){
    
    //trace("les x: " + x);
    //trace("valeurs : " + matrice[y][x]);
    
    denomination = x + "," + y;
    numero++;
 
    if (matrice[y][x] == 1){
     
     tabTerrain[y][x] = _root.attachMovie("eau", "eau" + denomination, numero); 
     tabTerrain[y][x]._x = dispo + espac * x;
     tabTerrain[y][x]._y = dispo + espac * y;
     
     trace("un carré bleu : " + denomination + " décalage numéro : " + numero);
 
     
    }else if(matrice[y][x] == 0){
     
     tabTerrain[y][x] = _root.attachMovie("terre", "terre" + denomination, numero); 
     tabTerrain[y][x]._x = dispo + espac * x;
     tabTerrain[y][x]._y = dispo + espac * y;
     
     trace("un carré noir : " + denomination + " décalage numéro : " + numero);
 
     
    }
    trace(tabTerrain[y][x].getDepth());
   }
   trace(tabTerrain[y][x].getDepth());
  }
  
  trace(tabTerrain[2][6].getDepth());
  trace(tabTerrain[10][5].getDepth());
  trace(tabTerrain[1][15].getDepth());
  trace(tabTerrain[14][3].getDepth());
  
 }
 
 public function decharge(a:Number, b:Number):Void{
  
  trace("decharge");
  trace(a);
  trace(b);
  
  trace (tabTerrain[b][a].getDepth());
 
  tabTerrain[b][a].removeMovieClip();

 
 }
 
 
}

UTILISATION :

var matrice1 = [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1],
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]];
 

var Ter1:Terrain2 = new Terrain2(matrice1);
Ter1.traceTerrain();
 
Ter1.decharge(1,3);      // la fonction decharge trouve bien la profondeur (^m si c'est pas la bonne)
Ter1.decharge(1,2);      // mais apres puiske les indices sont tous sur la même ligne j'ai plus que des undefined avec getDepth
Ter1.decharge(1,4);
Ter1.decharge(1,3);
 
Ter1.decharge(12,11);





Cette discussion est classée dans : private, var, number, trace, tabterrain


Répondre à ce message

Sujets en rapport avec ce message

Probleme de caracters speciaux dans flash [ par simojava ] bonjour tout le monde,J'ai codé une classe en AS qui charge tous les caracteres speciaux et les affiche dans un MovieClip.Le probleme est que certains Probleme d'affichage de certains cararcteres speciaux [ par simojava ] <img style="BORDER-LEFT-COLOR: black; BORDER-BOTTOM-COLOR: black; BORDER-TOP-COLOR: black; BORDER-RIGHT-COLOR: black; border-size: 1px" src="http://ww LocalConnect pas très bien compris [ par way2web ] Bonsoir,J'ai créé deux fichiers swf différents insérés dans la même page html :1) le premier est une galerie de miniatures2) le deuxième est les photo CLASS AS3 : Plusieurs clips enfants dans un parent [ par nuclearprout ] Bonsoir et d'ores et déjà dsl pour la longueur du titre. Je ne savais pas trop quoi mettre.Voilà j'ai le code : package {    import flash.disp Aprentissage difficile des classes [ par szambaux ] Bonjour je suis en train de me former au classe est j'ai vraiment du mal donc je poste ce que j'ai fait, c'est une classe récupere le nom d'un fichier Problème de modification de texte d'un objet dynamique attachMovie [ par keyser69 ] Bonjour,Je voudrais de dupliquer un movieclip cliquable présent dans ma librairie et en modifier son contenu à chaque fois sur base d'un tableau que j transformation d'un clip avec les fleches grace a matrix (encore un bug) as2 [ par otomat ] je souhaite modifier l'echelle et l'orientation d'un clip avec les fleches du clavier. J'y suis presque malgres un bug restant. Certaines combinaisons galerie photo qui ne s'arrête pas... [ par amandaaa ] Bonjour,j'ai un petit souci avec la galerie photo de mon site internet.je suis débutante en action script donc je vous remercie d'avance pour votre ai Preloading reste bloqué sous IE et FF3 [ par way2web ] Bonjour,J'ai un problème avec le chargement d'un swf, sous Firefox 2 aucun problème mais sous IE7 lorsqu'on passe de page en page, il arrive que le pr Source diaporama ne fonctionne pas [ par fredflash92 ] Bonjour,j'utilise le script suivant (que j'ai pris sur ce site)  qui gère un diaporama avec des fichiers images externes  listés dans un fichier XMLen


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales