Topic relatif au cours Site complet en flash : part 6.
N'hésitez pas à poser vos questions ou débattre d'un sujet relatif au cours.



//
//--------------------------------------------- Initialisations ---//
//
//
//--- Importation de la class Tween ---
//
import fl.transitions.*;
import fl.transitions.easing.*;
//
//--- Position initiale du curseur ---
//
var posInitCurseur:Number = menu1.curseur.x;
var posInitSousMenu:Number = menu1.sousMenu.y;
var posInitEtoile:Number = menu1.sousMenu.etoile.x;
this.prechargement.visible=false;
this.contenu.categorie = new String();
//
//------------------------------------------- Animation du menu ---//
//
//
//--- Fonction deplaceCurseur ---
//
function deplaceCurseur(event:MouseEvent) {
var translationCurseur:Tween = new Tween(menu1.curseur, "x", Strong.easeOut, menu1.curseur.x, event.currentTarget.x, 1, true);
}
//
//--- Fonction initCurseur ---
//
function initCurseur(event:MouseEvent) {
var translationCurseur:Tween = new Tween(menu1.curseur, "x", Strong.easeOut, menu1.curseur.x, posInitCurseur, 1, true);
}
//
//--- Fonction deplaceSousMenu ---
//
function deplaceSousMenu(event:MouseEvent) {
var translationSousMenu:Tween = new Tween(menu1.sousMenu, "y", Strong.easeOut, menu1.sousMenu.y, -65, 1, true);
}
//
//--- Fonction initSousMenu ---
//
function initSousMenu(event:MouseEvent) {
var translationSousMenu:Tween = new Tween(menu1.sousMenu, "y", Strong.easeOut, menu1.sousMenu.y, posInitSousMenu, 1, true);
}
//
//--- Fonction deplaceEtoile ---
//
function deplaceEtoile(event:MouseEvent) {
var translationEtoile:Tween = new Tween(menu1.sousMenu.etoile, "x", Strong.easeOut, menu1.sousMenu.etoile.x, event.currentTarget.x, 1, true);
}
//
//--- Fonction initEtoile ---
//
function initEtoile(event:MouseEvent) {
var translationEtoile:Tween = new Tween(menu1.sousMenu.etoile, "x", Strong.easeOut, menu1.sousMenu.etoile.x, posInitEtoile, 1, true);
}
//--- chargement sous-partie : autres boutons ---
switch (event.currentTarget) {
case menu1.bPresentation :
chargeSousPartie("presentation.swf","");
break;
case menu1.bRealisations :
chargeSousPartie("realisations.swf", "design");
break;
case menu1.bLiens :
chargeSousPartie("liens.swf", "");
break;
case menu1.bContact :
chargeSousPartie("contact.swf", "");
break;
}
//
//--------------------------------- Chargement des sous-parties ---//
//
function chargeSousPartie(sections:String, categorieXML:String) {
//--- On vide le conteneur ---
while (this.contenu.numChildren > 0) {
this.contenu.removeChildAt(0);
}
//--- On redéfinit la catégorie à charger : pour le clip enfant ---
contenu.categorie=categorieXML;
// création du chargeur
var chargeur:Loader = new Loader();
//--- url à atteindre ---
var chemin:URLRequest=new URLRequest(sections);
//--- chargement du contenu ---
chargeur.load(chemin);
//--- ajout à la liste d'affichage : lancement du chargement ---
contenu.addChild(chargeur);
//--- Ecouteurs ---
chargeur.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, prechargeSections);
chargeur.contentLoaderInfo.addEventListener(Event.COMPLETE, finChargementSections);
}
//
//--- Fonction prechargement clips ---
//
function prechargeSections(evt:Event) {
prechargement.visible=true;
prechargement.pourcentage.text= Math.floor(100/(evt.currentTarget.bytesLoaded*evt.currentTarget.bytesTotal))+'%';
}
//
//--- Fonction fin de prechargement ---
//
function finChargementSections(evt:Event) {
prechargement.visible=false;
}
//
//----------------------------------------- Actions des boutons du menu---//
//
//
//--- bPresentation ---
//
this.menu1.bPresentation.addEventListener(MouseEvent.MOUSE_OVER, deplaceCurseur);
this.menu1.bPresentation.addEventListener(MouseEvent.MOUSE_OUT, initCurseur);
this.menu1.bPresentation.addEventListener(MouseEvent.CLICK, initSousMenu);
//
//--- bRealisations ---
//
this.menu1.bRealisations.addEventListener(MouseEvent.MOUSE_OVER, deplaceCurseur);
this.menu1.bRealisations.addEventListener(MouseEvent.MOUSE_OUT, initCurseur);
this.menu1.bRealisations.addEventListener(MouseEvent.CLICK, deplaceSousMenu);
//
//--- bLiens ---
//
this.menu1.bLiens.addEventListener(MouseEvent.MOUSE_OVER, deplaceCurseur);
this.menu1.bLiens.addEventListener(MouseEvent.MOUSE_OUT, initCurseur);
this.menu1.bLiens.addEventListener(MouseEvent.CLICK, initSousMenu);
//
//--- bContact ---
//
this.menu1.bContact.addEventListener(MouseEvent.MOUSE_OVER, deplaceCurseur);
this.menu1.bContact.addEventListener(MouseEvent.MOUSE_OUT, initCurseur);
this.menu1.bContact.addEventListener(MouseEvent.CLICK, initSousMenu);
//
//----------------------------------------- Actions des boutons du sous menu---//
//
//
this.menu1.sousMenu.bDesign.addEventListener(MouseEvent.MOUSE_OVER, deplaceEtoile);
this.menu1.sousMenu.bDesign.addEventListener(MouseEvent.MOUSE_OUT, initEtoile);
this.menu1.sousMenu.bMusique.addEventListener(MouseEvent.MOUSE_OVER, deplaceEtoile);
this.menu1.sousMenu.bMusique.addEventListener(MouseEvent.MOUSE_OUT, initEtoile);
this.menu1.sousMenu.bDirArt.addEventListener(MouseEvent.MOUSE_OVER, deplaceEtoile);
this.menu1.sousMenu.bDirArt.addEventListener(MouseEvent.MOUSE_OUT, initEtoile);//
//---------------------------------------------------------------- INITIALISATIONS ---//
//
var realisationsXML:XML;
var chargeDonnees:URLLoader = new URLLoader();
var adresseFichier:URLRequest=new URLRequest("XML/realisations.xml");
//--- Variable qui va permettre de scroller d'un projet à l'autre ---
var index:Number=0;
var categorie2:String ;
try {
// on récupère la variable maVar du swf appelant
(categorie2=this.parent.parent["categorie"]);
}
// on récupère l’erreur si la variable n’est pas passée
catch (e:Error) {
// on affiche l’erreur, s’il y a lieu
trace ("Erreur : "+e);
}
//
//--- Importation de la class Tween ---
//
import fl.transitions.*;
import fl.transitions.easing.*;
//
//-------------------------------------------------------------------- FONCTIONS ---//
//
//
//--- Fonction qui affecte les données chargées à une variable ---
//
function chargementFini(event:Event) {
infosChargement.visible = false;
realisationsXML=new XML(chargeDonnees.data);
chargeProjet(categorie);
}
//
//--- Fonction qui charge les projets d'une section ---
//
function chargeProjet(categorieP:String) {
//--- On détermine le nombre de projets
var nbProjets:Number=realisationsXML[categorieP].children().length();
//
//
//
for (var i=0; i<nbProjets; i++) {
//
//--- On place le bouton ---
//
var boutonP:bProjet=new bProjet ;
boutonP.x=10;
boutonP.y=45*i;
boutonP.name="bProjet"+i;
addChild(boutonP);
boutonP.indexProjet=index;
boutonP.texteBouton.text = i+1;
//
//--- On définit l'action du bouton ---
//
boutonP.addEventListener(MouseEvent.CLICK, afficheProjet);
//
//--- On charge les infos du projet ---
//
var projetC:clipProjet=new clipProjet ;
projetC.y=boutonP.indexProjet;
projetC.name="clipProjet"+i;
sections.addChild(projetC);
//--- Nom du projet ---
projetC.nomProjet.text = realisationsXML[categorieP].projet[i].@nomProjet;
//--- Type de projet ---
projetC.typeProjet.text = realisationsXML[categorieP].projet[i].@typeProjet;
//--- Descriptif du projet ---
projetC.descriptionProjet.text = realisationsXML[categorieP].projet[i];
//
//--- L'image du projet ---
//
chargeImage(realisationsXML[categorieP].projet[i].@image, projetC.imageProjet);
//
//--- On incrémente l'index : pour les futurs positions des autres projets ---
//
index+=470;
}
}
//
//--- Fonction qui charge les images ---
//
function chargeImage(url:String, cible:Object) {
var loaderImage:Loader = new Loader();
var urlImage:URLRequest = new URLRequest(url);
loaderImage.load(urlImage);
cible.addChild(loaderImage);
}
//
//--- Fonction qui scroll d'un projet à l'autre ---
//
//
//----------------------------------------------------------
function afficheProjet(event:MouseEvent) {
var deplaceSections:Tween = new Tween(sections, "y", Strong.easeOut, sections.y, -event.currentTarget.indexProjet, 1, true);
}
//---------- ECOUTEURS ---//
chargeDonnees.load(adresseFichier);
chargeDonnees.addEventListener(Event.COMPLETE, chargementFini);



Muktaditi a écrit:1120: Accès à la propriété non définie categorie. chargeProjet(categorie);
quand j'essaye realisations...







Ostad Elahi a écrit:Celui qui dit "moi, je sais !" est plus ignorant que l'ignorant ; il faut toujours savoir apprendre des autres.
//--- écouteur 1 ---
monClip.addEventListener(MouseEvent.MOUSE_OVER, fonctionReponse1);
//--- écouteur 2 ---
monClip.addEventListener(MouseEvent.MOUSE_OVER, fonctionReponse2);//--- Fonction 1 ---
function fonction1() {
//--- Actions ---
}
//--- Fonction 2 ---
function fonction2() {
//--- Actions ---
}
//--- Fonction intercalaire ---
function fonctionIntercalaire() {
//--- Appel de plusieurs fonctions ---
function1();
function2();
...
}
//--- écouteur ---
monClip.addEventListener(MouseEvent.MOUSE_OVER, fonctionIntercalaire);


//
//--- Fonction deplaceSousMenu ---
//
function deplaceSousMenu(event:MouseEvent) {
var translationSousMenu:Tween = new Tween(menu1.sousMenu, "y", Strong.easeOut, menu1.sousMenu.y, -65, 1, true);
switch (event.currentTarget) {
case menu1.bPresentation :
chargeSousPartie("presentation.swf","");
break;
case menu1.bRealisations :
chargeSousPartie("realisations.swf", "design");
break;
case menu1.bLiens :
chargeSousPartie("liens.swf", "");
break;
case menu1.bContact :
chargeSousPartie("contact.swf", "");
break;
}
}//--les Evenements--//addEventListener
bMenuSelectionne.addEventListener(MouseEvent.CLICK, chargeswfCorrespondant);
bMenuSelectionne.addEventListener(MouseEvent.CLICK, cacheSousMenu);
menuTexte.sousMenu.realisations.addEventListener(MouseEvent.CLICK, montreSousMenu);
bSelectionne.addEventListener(MouseEvent.MOUSE_OVER, appliqueFiltre);
//Les variables--//
var posInitSousMenu = menuTexte.sousMenu.y
celles que je ne sais pas écrire:
bMenuSelectionne = {bPresentation,bLiens,bContact}
bSousMenuSelectionne ={bDessins,bPhotoshop,bIllustrator,bAutres}
bSelectionne = {bPresentation,bRealisattions,bLiens,bContact,bDessins,bPhotoshop,bIllustrator,bPhotos,bAutres}
ou(b_"") en fait tous les boutons...
swfMenuCorrespondant = {presentation.swf,liens.swf,contact.swf}
categorie= {dessins,photoshop... les catégories du sousMenu}
et celles concernant les url...
//--Les fonctions--//
function montreSousMenu (Event:MouseEvent) {
var translationSousMenu:Tween = new Tween(menuTexte.sousMenu, "y", Strong.easeOut, menuTexte.sousMenu.y, menuTexte.y-50, 1,true);
}
function cacheSousMenu (Event:MouseEvent) {
var translationSousMenu:Tween =new Tween(menuTexte.sousMenu, "y", Strong.easeOut, menuTexte.sousMenu.y, posInitSousMenu, 1, true);
}
celles que je ne sais pas écrire:
function chargeSwfCorrespondant
selon bMenuSelectionne, url sur le swf correspondant s'affiche dans le clip contenu
}
function chargeswfRealisation
selon bSousMenuSelectionne, url sur realisations.swf.categorie(correpondante)
}
function appliqueFiltre
bSelectionne=bSelectionne+filtre
}
}



function cacheSousMenu( event:MOUSE_EVENT ) {
var animSousMenu:Tween = new Tween(sousMenu, "y", Strong.easeOut, posFinale, postInitMenu, 1,true);
}
function choixSection( event:MOUSE_EVENT ) {
switch( event.currentTarget ) {
case boutonSection1 :
chargeSwf("section1.swf");
break;
case boutonSection2 :
chargeSwf("section2.swf");
break;
}
}
function chargeSwf( String:URL ) {
//--- On vide le conteneur ---
while (cible.numChildren > 0) {
cible.removeChildAt(0);
}
//--- création du chargeur ---
var chargeur:Loader = new Loader();
//--- url à atteindre ---
var chemin:URLRequest=new URLRequest( URL );
//--- chargement du contenu ---
chargeur.load(chemin);
//--- ajout à la liste d'affichage : lancement du chargement ---
cible.addChild(chargeur);
}
//
//--- ECOUTEURS ---
//
this.bAfficheMenu.addEventListener(MouseEvent.CLICK, montreSousMenu);
this.bMasqueMenu.addEventListener(MouseEvent.CLICK, cacheSousMenu);
this.bSection1.addEventListener(MouseEvent.CLICK, choixSection);
this.bSection2.addEventListener(MouseEvent.CLICK, choixSection);






Pourquoi ?







Retourner vers Suite des cours
Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 0 invités