Problème sur Diaporama

Ludixit - 15 oct. 2012 à 19:07
 Ludixit - 16 oct. 2012 à 12:14
Bonjour,
alors j'ai un diaporama à faire en flash pour demain et je bloque, j'ai un fichier XML :


<titre> De face </titre>
face.jpeg
<comment> … </comment>
<transition>zoom</transition>



<titre> De dos </titre>
dos.jpeg
<comment> … </comment>
<transition>zoom</transition>



<titre> Zoom chapeau </titre>
chapeau.jpeg
<comment> … </comment>
<transition>zoom</transition>




et trois photos dans un dossier "photo" : "face", "dos", "chapeau".
voici mon script flash:



// diaporama Robe DESTRUCTUR'OSE
// définition du code pour le diaporama
/////////////////////////////////////////////////////


/*****initialisation*****/

//récupération des dimensions de la scène
var largeur:uint =stage.stageWidth;
var hauteur:uint=stage.stageHeight;
var position: uint =0;
var img:String;




/****création des objets*****/

// création et insertion fond
var Fond : FondClp = new FondClp(); // Affichage fond

addChild(Fond);

// création et insertion liste d'affichage des boutons suivant et précédent
var suiv:Bnext =new Bnext();
suiv.scaleX=0.15;
suiv.scaleY=0.15;
addChild(suiv);

//positionnement des boutons
suiv.x=largeur/2+200;
suiv.y=hauteur/2-suiv.height/2;


var prec : Bprev = new Bprev();
prec.scaleX=0.15;
prec.scaleY=0.15;
addChild(prec);

//positionnement du bouton
prec.x=largeur/2-220
prec.y=hauteur/2-prec.height/2;

var titre: TextField=new TextField();
addChild(titre);

//positionnement des titres
titre.x=largeur/2-titre.width/2;
titre.y=20;


// définition de la valeur du titre et du commentaire
titre.text= "le titre";


//idem pour comment
var comment: TextField=new TextField();
addChild(comment);


//positionnement du commentaire
comment.x=largeur/2-comment.width/2;
comment.y=hauteur-50;
comment.text= "le commentaire";

/* affichage d'une seule photo directement */
var Ph1: Loader=new Loader();
Ph1.load(new URLRequest("photo/face.jpeg"));
addChild(Ph1);

//repositionnement de la photo

Ph1.scaleX=0.5;
Ph1.scaleY=0.5;
Ph1.x=largeur/3;
Ph1.y=hauteur/8;






/*****fonctions*****/


// syntaxe pour charger le fichier XML

var fichier:URLRequest= new URLRequest("album.xml"); //fichier XML
var conteneurXML:URLLoader = new URLLoader(); // chargement XML
conteneurXML.dataFormat=URLLoaderDataFormat.TEXT;
conteneurXML.addEventListener(Event.COMPLETE, chargeXML); // ajout écouteur d'évènement
conteneurXML.load(fichier);

var donneesXML:XML; // éléments d'analyse
var listeXML:XMLList=new XMLList();

// création de la fonction chargeXML appeler par l'écouteur d'évènement
function chargeXML (e:Event):void {
try {
donneesXML=new XML (e.target.data); //analyse XML
listeXML=donneesXML.elements();
lectureXML(); //Fonction de traitement
}
catch (e:TypeError) {
trace("Erreur fichier XML:"+e.message);
}
}


//création de la fonction lectureXML

function lectureXML (): void {
try {
//afichage du titre s'il existe
if (donneesXML.photo[0].hasOwnProperty("titre")){
titre.text=donneesXML.photo[position].titre[0].toString();
titre.visible=true;
}
else
{titre.visible=false;}
// affichage du commentaire s'il existe
if (donneesXML.photo[0].hasOwnProperty("comment")) {
comment.text=donneesXML.photo[position].comment[0].toString();
comment.visible=true;
}
else {
comment.visible=false;
}

// affichage de l'image si elle existe
if (donneesXML.photo[0].hasOwnProperty("image")) {
img=donneesXML.photo[position].image[0].toString();
Ph1.load(new URLRequest(img));
Ph1.visible=true;
}
else {
Ph1.visible=false;
}

}
catch (e:TypeError) { // gestion erreur
trace("Erreur fichier XML: "+e.message);
}
}




/*****évènements****/



voici ce qu'il me reste à faire :
-en exploitant le code (chargeXML lectureXML), adapter l'application pour pouvoir afficher le contenu (titre, image et commentaire) de la première photo.
- associer des écouteurs d'évènement aux boutons afin d'appeler les fonctions "photoNext" et "photoPrev".
- définir deux fonctions de navigation qui réalisent les opérations : incrément+décrément de la variable "position", gestion du débordement de capacité en maintenant la variable "position" dans les limites normales de fonctionnement (0<=position<nbr de photos), appel de la fco "lectureXML" pour réactualiser l'affichage.

valide le code en navigant dans le fichier XML. à chaque action sur l'un des boutons doivent apparaitre titres et commentaires des différentes photos

-ajouter le chargement de l'image dans la fco "lectureXML" (elle récupère le nom (et chemin d'accès) de la photo à charger, il faut rendre non visible l'objet photo (attribut visible=false), réaliser le changement de photo (photo.load..) définir un écouteur d'evt appelant la fco "photoOK"

-définir photoOK chargée de la gestion de l'affichage de la photo (prévoir un positionnement selon l'organisation de la scène, ajuster la dimension de la photo pour occuper au mieux l'espace disponible, rétablir l'affichage de la photo (attribut visible=true) ).

valider le fctionement du diapo ainsi créé.

GESTION DES TRANSITIONS

insérer au début de la fco "photoOK"

TransitionManager.start(Cont,
{type:Blinds, direction:Transition.IN, duration:1));
//type de transition acceptées : Blinds, Fly, Iris, Photo, PixelDissolve, Rotate, Squeeze,
// Wipe, Zoom
définir en début de bibliothèque
import fl.transitions.*;

valider le fctionnement de la transition lors du chgmt d'image

ajouter des des flèches pour atteindre directement la première ou dernière photo + une musique pour chaque photo.





ENORME MERCI ! (c'est pour demain, je planche dessus depuis 7h, j'ai trop de mal alors tant pis si pas de grosses explications, le code avec quelques commentaires serait accepté avec grand plaisir, … merci merci !)

2 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
16 oct. 2012 à 09:16
Bonjour, je change le titre car "de l'aide please..." ça n'est pas explicite puisque tu postes forcément ici pour en avoir ...

Peg'
Admin Codes-Sources
0
merci !
0
Rejoignez-nous