Générateur de grille iso

Description

Ce code permet de générer une grille iso.
La longueur et la largeur de la grille corespondent a celle du document dans lequel le code est insérer.
La longeur et la largeur des cases sont a parametrer au debut du code (dans les constantes).

Si la largeur du document n'est pas un multiple de la largeur d'une case alors le programme arrondira le nombre de cases au multiple le plus proche.
Il fait de même pour la longueur.

Le fond est générer par le debut du code et corespond a la taille du document.

Merci de poster si vous rencrontrez des bugs, j'essayerai de les corriger le plus vite possible.

Ps: j'ai commenté le plus possible et désolé s'il y a des fautes d'orthographes.

Source / Exemple :


//par Q1PROUST

fond=createEmptyMovieClip("fond",-1)
xx=Stage.width;
yy=Stage.height;
fond.beginFill(0x000000,100);
fond.lineStyle(3,0x000000,100);
fond.moveTo(0,0);
fond.lineTo(0,yy);
fond.lineTo(xx,yy);
fond.lineTo(xx,0);
fond.lineTo(0,0);
fond.endFill();

//constantes
calque=1;//hauteur de depart des lignes
lar=50;//largeur d'une case
lon=50;//longueur d'un case

//rectification constantes
if(xx>lar)//arondi a un multiple de la largeur d'une case
{
	xx=xx/lar;
	xx=Math.floor(xx);
	xx=xx*lar;
}

if(yy>lon)//arondi a un multiple de la longueur d'une case
{
	yy=yy/lon;
	yy=Math.round(yy);
	yy=yy*lon;
}

//atribution des valeur max
txmax=xx;
tymax=yy;
//fin const
//pour les variables non-constantes
nbr=0;//pour la boucle
dx=0;//depart x
ax=0;//arrivé x
dy=0;//depart y
ay=0;//arrivé y
//fin

//debut boucles
while((dx<=txmax)&&(ay<=tymax)){
     ligne="ligne"+nbr;//var pour nommer les lignes
     ligne=createEmptyMovieClip(ligne,calque);//crée un Movie clip vide
     ligne.lineStyle(1.0,0xFFFFFF,100);//definie les propriétés des lignes
     ligne.moveTo(dx,dy);//point de départ (coordonées)
     ligne.lineTo(ax,ay);//point d'arrivé (coordonées)
     _root.nbr++;//incrémentation de nbr pour le nom des lignes 
     _root.calque++;// pareil pour calque pour leur hauteur
     _root.dx+=_root.lar;//aplication du décalage x 
     _root.ay+=_root.lon;//aplication du decalage y
}
//rectification des variables non-constantes
nbr=0;//pour la boucle
dx=txmax;//depart x
ax=txmax;//arrivé x
dy=tymax;//depart y
ay=tymax;//arrivé y

while((dx>=0)&&(ay>=0)){
      ligne="ligne"+nbr;//var pour nommer les lignes
      ligne=createEmptyMovieClip(ligne,calque);//crée un Movie clip vide
      ligne.lineStyle(1.0,0xFFFFFF,100);//definie les propriétés des lignes
      ligne.moveTo(dx,dy);//point de départ (coordonées)
      ligne.lineTo(ax,ay);//point d'arrivé (coordonées)
      _root.nbr++;// incrémentation de nbr pour nommer les lignes
      _root.calque++;// pareil pour calque pour la hauteur des lignesr
      _root.dx-=_root.lar;//aplication du décalage x 
      _root.ay-=_root.lon;//aplication du decalage y
}

//rectification des variables non-constantes
nbr=0;//pour la boucle
dx=txmax;//depart x
ax=txmax;//arrivé x
dy=0;//depart y
ay=0;//arrivé y

while((dx>=0)&&(ay<=tymax)){
      ligne="ligne"+nbr;//var pour nommer les lignes
      ligne=createEmptyMovieClip(ligne,calque);//crée un Movie clip vide      
      ligne.lineStyle(1.0,0xFFFFFF,100);//definie les propriétés des lignes
      ligne.moveTo(dx,dy);//point de départ (coordonées)
      ligne.lineTo(ax,ay);//point d'arrivé (coordonées)
      _root.nbr++;//incrémentation de nbr pour le nom des lignes
      _root.calque++;// pareil pour calque pour leur hauteur
      _root.dx-=_root.lar;//aplication du décalage x 
      _root.ay+=_root.lon;//aplication du decalage y
}
//rectification des variables non-constantes
nbr=0;//pour la boucle
dx=0;//depart x
ax=0;//arrivé x
dy=tymax;//depart y
ay=tymax;//arrivé y

while((dx<=txmax)&&(ay>=0)){
      ligne="ligne"+nbr;//var pour nommer les lignes
      ligne=createEmptyMovieClip(ligne,calque);//crée un Movie clip vide
      ligne.lineStyle(1.0,0xFFFFFF,100);//definie les propriétés des lignes
      ligne.moveTo(dx,dy);//point de départ (coordonées)
      ligne.lineTo(ax,ay);//point d'arrivé (coordonées)
      _root.nbr++;// incrémentation de nbr pour le nom des lignes
      _root.calque++;// pareil pour calque pour leur hauteur
      _root.dx+=_root.lar;//aplication du décalage x 
      _root.ay-=_root.lon;//aplication du decalage y
}
//fin

Conclusion :


il y aura une mise à jour lorsqu' un bug sera trouvé et rectifié.
Sur la miniature du screen on voit pas corectement la grille alors cliquez dessus si vous voulez voir ce que ca donne vraiment.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.