Bonjour, voila j'utilise le code de pegase et j'aimerai le modifier pour que la partie qui aligne les 0 et les 1 (ici en rouge) viennent d'un fichier externe, 2 question se pose alors:
1- Quel type de fichier dois-je utiliser ? (txt, xml, php...)
2- Comment charger le fichier dans l'animation.
Merci d'avance de vos reponses, voila le code:
/********************************************************/
/* Cette source est la première d'une série de XX */
/* Elle explique comment créer un décor paramétrable, */
/* pour un jeu basé sur une "grille" genre Zelda */
/* libre de droits, elle est créée pour le site */
/* www.FlashKod.com */
/* pour me contacter : chevalier.pegase31@wanadoo.fr */
/********************************************************/
// Initialisation des variables importantes :
LargMap = 16; /*Défini le nombre de blocs horizontaux de la grille d'ecran*/
HautMap = 16; /*Défini le nombre de blocs verticaux de la grille d'ecran*/
LargTile = 32; /*Défini la largeur en pxl d'une case (tile) de la grille*/
HautTile = 24; /*Défini la hauteur en pxl d'une case (tile) de la grille*/
LargPerso = 16; /*Défini la largeur en pxl du Personnage*/
LargPerso = 12; /*Défini la hauteur en pxl du Personnage*/
/*Petit détail interessant : LargMap*LargTile = 512 (la largeur de l'animation)*/
// Définition de la Map dans un tableau à 2 dimensions : (C'est ce qui suis que je veux mettre dans un fichier externe:
Map = [[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
[1,0,1,0,1,1,0,0,0,0,0,0,0,0,0,1],
[1,0,1,0,0,0,0,1,0,0,0,0,1,1,1,1],
[1,0,0,0,0,0,0,1,0,0,1,1,1,0,0,1],
[1,1,1,1,0,0,0,1,0,0,1,0,1,0,0,1],
[1,0,0,1,0,0,0,0,0,0,1,0,0,0,0,1],
[1,0,0,1,0,0,0,1,1,1,1,0,0,1,0,1],
[1,0,1,1,0,0,0,0,0,0,0,0,0,1,0,1],
[1,0,0,0,0,1,1,0,0,0,0,0,1,1,1,1],
[1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1],
[1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1],
[1,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1],
[1,1,1,1,1,1,0,0,1,0,0,0,0,0,0,1],
[1,0,0,0,1,1,0,0,1,0,0,0,0,0,0,1],
[1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1],
[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]];
//Jusqu'ici
// Création de la grille permettant d'afficher la carte :
/* On crée une double boucle permettant de créer la grille du jeu */
var Depth = 0;
for (var j=0; j<HautMap; j++) { /*début de boucle des colonnes*/
for (var i=0; i<LargMap; i++) { /*début de la boucke de lignes*/
Decor.Bloc.duplicateMovieClip("Case"+i+"_"+j, Depth); /*on duplique le clip*/
Decor["Case"+i+"_"+j]._x = (i*LargTile)+(LargTile/2); /*et on le place en X*/
Decor["Case"+i+"_"+j]._y = (j*HautTile)+(HautTile/2); /*puis en Y*/
Depth++; // on augmente la profondeur pour le duplicateMovieClip();
} // Fin de boucle des lignes
} // Fin de boucle des colonnes
Affich_Map(); /*On affiche la map*/
// Fonction permettant d'afficher la Map sur la Grille
function Affich_Map() {
/*on réutilise la même double-boucle de la création de la grille pour afficher
chaque Bloc en référence au n° contenu sur la carte */
for (var j=0; j<HautMap; j++) { /*début de boucle des colonnes*/
for (var i=0; i<LargMap; i++) { /*début de la boucke de lignes*/
var Frame = Map[j][i]+1; /*on va chercher la valeur de la case sur MAP*/
/*Remarque: "+1" car actuellement,sur la carte, "0"=rien et "1"=mur,
or la frame 0 n'existe pas ! On ajoute donc "+1"pour aller a
la frame 1 pour "0" et la frame 2 pour "1"*/
Decor["Case"+i+"_"+j].gotoAndStop(Frame); /*et on envoie le bloc à cette frame*/
} // Fin de boucle des lignes
} // Fin de boucle des colonnes
}