portfolio qui ne fonctionne pas en ligne [AS3] - Flash/ActionScript - Programmation
MarshPosté le 14-04-2011 à 10:33:22
Bonjour à tous, je suis un noob sous flash et AS3 et AS2, mais je me soigne . J'ai un petit soucis avec un portfolio que j'ai réalisé grâce au tuto de snoupix. Voila, en local tout fonctionne pas de soucis mais en ligne le swf reste sur chargement en cours . Si quelqun peut m'aider
//Constantes var dossierImage:String = 'images/'; var dossierImageMini:String = 'images/min/';
//Chargeur qui téléchargera notre fichier XML var chargeur:URLLoader = new URLLoader (); //objet URLRequest qui contient l'url du fichier XML: var adresse:URLRequest = new URLRequest ("galerie.xml" );
//Variable contenant le texte alternatif var alt:String;
/*Style utilisé pour le texte Alternatif*/ var formatTitre:TextFormat = new TextFormat; formatTitre.color = 0x888888; formatTitre.size = 17; formatTitre.font = 'tahoma'; formatTitre.align = 'center';
//Champ texte pour le texte alternatif var texteAlt:TextField = new TextField(); texteAlt.text = ''; texteAlt.x = 325; texteAlt.y = 425; texteAlt.width = 400; this.addChild(texteAlt);
//Champ texte pour le message de chargement var chargement:TextField = new TextField(); chargement.text = 'Chargement en cours...'; chargement.setTextFormat(formatTitre); chargement.width = 200; chargement.x = 350; chargement.y = 200; this.addChild(chargement);
/*Une fois que le fichier XML est chargé...*/ function finDuChargementXML(evt:Event):void{ //Objet XML var monXML:XML = new XML(evt.target.data); //UILoader qui contiendra l'image originale var photoPrincipale:UILoader = new UILoader(); photoPrincipale.source = dossierImage+monXML.image[1].attribute("src" ); photoPrincipale.x = 280; photoPrincipale.y = 10; photoPrincipale.scaleContent = false;
var translation:Array = [photoPrincipale.x, photoPrincipale.x+ 100];
//Variable qui contiendra l'image qui est selectionnée var select:String;
//Les écouteurs sur les miniatures uil.addEventListener(MouseEvent.CLICK,clicImage); uil.addEventListener(MouseEvent.MOUSE_OVER,overImage); uil.addEventListener(MouseEvent.MOUSE_OUT,outImage); this.addChild(uil); }
/*Quand on clique sur une miniature...*/ function clicImage(e:Event):void{ //e.currentTarget.name correspond à la position de l'image //Si l'image sur laquelle on a cliquée est déjà selectionnée, il ne se passe rien.... if(select == monXML.image[e.currentTarget.name].attribute("src" )){ return; }
select = monXML.image[e.currentTarget.name].attribute("src" ); alt = monXML.image[e.currentTarget.name].attribute("alt" );
var myTweentText:Tween = new Tween(texteAlt, "alpha", Strong.easeOut, 1, 0, 1, true); var myTweenA:Tween = new Tween(photoPrincipale, "alpha", Strong.easeOut, 1, 0, 1, true); var myTweenPPW:Tween = new Tween(photoPrincipale, "x", Strong.easeIn, translation[0], translation[1],1, true); var myTweenPPA:Tween = new Tween(photoPrincipale, "alpha", Strong.easeIn, 1, 0, 1, true); myTweenA.addEventListener(TweenEvent.MOTION_FINISH, changeImage);
}
/*Quand on veut changer d'image (logiquement après avoir cliqué sur une miniature)*/ function changeImage(e:Event):void{ //On change la source de l'image photoPrincipale.source = dossierImage+select;
//On change le texte descriptif texteAlt.text = alt; texteAlt.setTextFormat(formatTitre);
//Et la photo arrive de façon élégante var myTweenPPA2:Tween = new Tween(photoPrincipale, "alpha", Strong.easeOut, 0, 1, 1, true); var myTweenPPW2:Tween = new Tween(photoPrincipale, "x", Strong.easeOut, translation[1], translation[0], 1, true); var myTweentText2:Tween = new Tween(texteAlt, "alpha", Strong.easeOut, 0, 1, 1, true); }
/*Quand on passe la souris sur une miniature...*/ function overImage(e:Event):void{ //Ombre sur miniatures var monOmbre:DropShadowFilter = new DropShadowFilter(); monOmbre.distance = 3; monOmbre.color = 0xAAAAAA; monOmbre.blurX = 5; monOmbre.blurY = 5; monOmbre.quality = 3; e.currentTarget.filters = [monOmbre]; //Effets cools de transitions var myTweenMA2:Tween = new Tween(e.currentTarget, "alpha", Strong.easeOut, 0.5, 1, 1, true); var myTweenMW2:Tween = new Tween(e.currentTarget, "width", Elastic.easeOut, e.currentTarget.width, 75, 1, true); var myTweenMH2:Tween = new Tween(e.currentTarget, "height", Elastic.easeOut, e.currentTarget.height, 75, 1, true); }
/*Quand on quitte la miniature*/ function outImage(e:Event):void{ //Ombre sur miniatures var monOmbre:DropShadowFilter = new DropShadowFilter(); monOmbre.distance = 0; monOmbre.color = 0x888888; monOmbre.blurX = 0; monOmbre.blurY = 0; monOmbre.quality = 3; e.currentTarget.filters = [monOmbre]; //Effets cools de transitions var myTweenMA:Tween = new Tween(e.currentTarget, "alpha", Strong.easeOut, 1, 0.5, 1, true); var myTweenMW:Tween = new Tween(e.currentTarget, "width", Elastic.easeOut, e.currentTarget.width, 70, 1, true); var myTweenMH:Tween = new Tween(e.currentTarget, "height", Elastic.easeOut, e.currentTarget.height, 70, 1, true);
je débute vraiment, puisque je n'ai même pas mis le fichier galerie.xml Par contre maintenant ça fonctionne mais le swf se met à la taille de la fenetre du navigateur
Marsh Posté le 14-04-2011 à 10:33:22
Bonjour à tous, je suis un noob sous flash et AS3 et AS2, mais je me soigne . J'ai un petit soucis avec un portfolio que j'ai réalisé grâce au tuto de snoupix. Voila, en local tout fonctionne pas de soucis mais en ligne le swf reste sur chargement en cours . Si quelqun peut m'aider
voila le code, je bosse avec la CS5
import flash.net.URLLoader;
import flash.net.URLRequest;
import fl.containers.UILoader;
import fl.controls.ProgressBar;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
import flash.events.*;
import flash.text.*;
import flash.filters.*;
//Constantes
var dossierImage:String = 'images/';
var dossierImageMini:String = 'images/min/';
//Chargeur qui téléchargera notre fichier XML
var chargeur:URLLoader = new URLLoader ();
//objet URLRequest qui contient l'url du fichier XML:
var adresse:URLRequest = new URLRequest ("galerie.xml" );
chargeur.load(adresse);
chargeur.addEventListener(Event.COMPLETE, finDuChargementXML);
//Variable contenant le texte alternatif
var alt:String;
/*Style utilisé pour le texte Alternatif*/
var formatTitre:TextFormat = new TextFormat;
formatTitre.color = 0x888888;
formatTitre.size = 17;
formatTitre.font = 'tahoma';
formatTitre.align = 'center';
//Champ texte pour le texte alternatif
var texteAlt:TextField = new TextField();
texteAlt.text = '';
texteAlt.x = 325;
texteAlt.y = 425;
texteAlt.width = 400;
this.addChild(texteAlt);
//Champ texte pour le message de chargement
var chargement:TextField = new TextField();
chargement.text = 'Chargement en cours...';
chargement.setTextFormat(formatTitre);
chargement.width = 200;
chargement.x = 350;
chargement.y = 200;
this.addChild(chargement);
/*Une fois que le fichier XML est chargé...*/
function finDuChargementXML(evt:Event):void{
//Objet XML
var monXML:XML = new XML(evt.target.data);
//UILoader qui contiendra l'image originale
var photoPrincipale:UILoader = new UILoader();
photoPrincipale.source = dossierImage+monXML.image[1].attribute("src" );
photoPrincipale.x = 280;
photoPrincipale.y = 10;
photoPrincipale.scaleContent = false;
var translation:Array = [photoPrincipale.x, photoPrincipale.x+ 100];
//Variable qui contiendra l'image qui est selectionnée
var select:String;
texteAlt.text = monXML.image[1].attribute("alt" );
texteAlt.setTextFormat(formatTitre);
//On attache le Loader à la scene
this.addChild(photoPrincipale);
/*Pour les miniatures*/
for(var i:String in monXML.image) {
var uil:UILoader = new UILoader();
uil.source = dossierImageMini+monXML.image[i].attribute("src" );
uil.buttonMode=true;
uil.name = i;
uil.x = 10;
uil.y = 10;
uil.y += int((int(i)/3))*90;
if(int(i)%3!=0){
uil.x += (int(i)%3)*90;
}
uil.width = uil.height = 70;
uil.alpha = 0.5;
uil.scaleContent= true;
uil.autoLoad = true;
//Les écouteurs sur les miniatures
uil.addEventListener(MouseEvent.CLICK,clicImage);
uil.addEventListener(MouseEvent.MOUSE_OVER,overImage);
uil.addEventListener(MouseEvent.MOUSE_OUT,outImage);
this.addChild(uil);
}
/*Quand on clique sur une miniature...*/
function clicImage(e:Event):void{
//e.currentTarget.name correspond à la position de l'image
//Si l'image sur laquelle on a cliquée est déjà selectionnée, il ne se passe rien....
if(select == monXML.image[e.currentTarget.name].attribute("src" )){
return;
}
select = monXML.image[e.currentTarget.name].attribute("src" );
alt = monXML.image[e.currentTarget.name].attribute("alt" );
var myTweentText:Tween = new Tween(texteAlt, "alpha", Strong.easeOut, 1, 0, 1, true);
var myTweenA:Tween = new Tween(photoPrincipale, "alpha", Strong.easeOut, 1, 0, 1, true);
var myTweenPPW:Tween = new Tween(photoPrincipale, "x", Strong.easeIn, translation[0], translation[1],1, true);
var myTweenPPA:Tween = new Tween(photoPrincipale, "alpha", Strong.easeIn, 1, 0, 1, true);
myTweenA.addEventListener(TweenEvent.MOTION_FINISH, changeImage);
}
/*Quand on veut changer d'image (logiquement après avoir cliqué sur une miniature)*/
function changeImage(e:Event):void{
//On change la source de l'image
photoPrincipale.source = dossierImage+select;
//On change le texte descriptif
texteAlt.text = alt;
texteAlt.setTextFormat(formatTitre);
//Et la photo arrive de façon élégante
var myTweenPPA2:Tween = new Tween(photoPrincipale, "alpha", Strong.easeOut, 0, 1, 1, true);
var myTweenPPW2:Tween = new Tween(photoPrincipale, "x", Strong.easeOut, translation[1], translation[0], 1, true);
var myTweentText2:Tween = new Tween(texteAlt, "alpha", Strong.easeOut, 0, 1, 1, true);
}
/*Quand on passe la souris sur une miniature...*/
function overImage(e:Event):void{
//Ombre sur miniatures
var monOmbre:DropShadowFilter = new DropShadowFilter();
monOmbre.distance = 3;
monOmbre.color = 0xAAAAAA;
monOmbre.blurX = 5;
monOmbre.blurY = 5;
monOmbre.quality = 3;
e.currentTarget.filters = [monOmbre];
//Effets cools de transitions
var myTweenMA2:Tween = new Tween(e.currentTarget, "alpha", Strong.easeOut, 0.5, 1, 1, true);
var myTweenMW2:Tween = new Tween(e.currentTarget, "width", Elastic.easeOut, e.currentTarget.width, 75, 1, true);
var myTweenMH2:Tween = new Tween(e.currentTarget, "height", Elastic.easeOut, e.currentTarget.height, 75, 1, true);
}
/*Quand on quitte la miniature*/
function outImage(e:Event):void{
//Ombre sur miniatures
var monOmbre:DropShadowFilter = new DropShadowFilter();
monOmbre.distance = 0;
monOmbre.color = 0x888888;
monOmbre.blurX = 0;
monOmbre.blurY = 0;
monOmbre.quality = 3;
e.currentTarget.filters = [monOmbre];
//Effets cools de transitions
var myTweenMA:Tween = new Tween(e.currentTarget, "alpha", Strong.easeOut, 1, 0.5, 1, true);
var myTweenMW:Tween = new Tween(e.currentTarget, "width", Elastic.easeOut, e.currentTarget.width, 70, 1, true);
var myTweenMH:Tween = new Tween(e.currentTarget, "height", Elastic.easeOut, e.currentTarget.height, 70, 1, true);
}
}
---------------
Galerie - Site