Caroussel et liens ??

ludonette Messages postés 10 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 15 septembre 2008 - 8 sept. 2008 à 11:05
cs_alise Messages postés 2203 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 26 janvier 2010 - 15 sept. 2008 à 20:55
Bonjour,
je suis nouvelle et franchemnt ce site est une merveille.. En conseil aide tutorials..
Masi voici mon soucis..

Voicic ce que j'ai sous flash donnée recuperer d'un tutoriel sur le web..
Pour faire fonctionné un caroussel..
Tout fonctionne sausf lesliens vers les sites..
Normalement en cliquant sur le logo on part vers l'adresse web du partenaire mais là rien ne se pasee..?
Je debute.. merci de votre aide..

Vous le trouverai en ligne ce caroussel sur mon site htpp://www.anglethormadielite.fr
dans la page sponsor.. merci

VOICI  L ACTION DANS MON FLASH

import flash.external.*;


//déclaration des variables
var numOfItems:Number;  
var clipLegende:MovieClip; 


//chargement du xml
function load_xml(path:String,type:String){
 var xml:XML = new XML();
 xml.ignoreWhite = true;
 xml.onLoad=function(){  
  var nodes = this.firstChild.childNodes;
  numOfItems = nodes.length;
  //je genere le caroussel quand tout est chargé.
  genereCarousel(nodes); 
 }
 xml.load("xml/"+path);  
}




function genereCarousel(nodes){
 
 level = hote_carousel_mc.getNextHighestDepth(); 
 //creation de l'hote du carousel
 hote_carousel_mc.createEmptyMovieClip("carrousel",1); 
 clipHote = hote_carousel_mc["carrousel"];  
 //si l'option légende est coché a true, j'attache la légende sur la scene
 if(isLegende==true){
  hote_carousel_mc.attachMovie("legende_mc","legende_mc",2);  
  clipLegende= hote_carousel_mc["legende_mc"];  
  clipLegende._alpha=0
 }
 //je parcours tous les objets du xml, et jeleur attribut leur propriété
 for (var i=0;i<numOfItems;i++){      
  var myItem=clipHote.attachMovie("item","item"+i,i+1);  
  myItem.angle = i* ((Math.PI*2)/numOfItems);  
  myItem._y=Math.sin(myItem.angle)*radiusY +centerY;   
  var s:Number = (myItem._y - perspective)/(centerY + radiusY - perspective)
  myItem._xscale=myItem._yscale=s*50;
  myItem._x=Math.cos(myItem.angle)*150+centerX;         
  myItem.icon.inner.loadMovie(nodes[i].attributes.image);  
  //chargement de l'image dans icon.inner
  myItem.icon.onEnterFrame = function(){
   if(this.inner._width>2){
    //quand l'icone est chargé, je lui met la largeur fixe correspondant à la variable largeurIcons
    this.rapport = this.inner._width/this.inner._height;
    this.inner._width=largeurIcons;
    //puis je lui applique la hauteur proportionnelle
    this.inner._height=largeurIcons/this.rapport;
    //centrage du clip
    this._x=-this.inner._width/2
    this._y=-this.inner._height
    //tres important on kill l'enterFrame
    delete this.onEnterFrame;
   }
  }  
  myItem.icon.smoothing=true;   
  //on charge l'image dans son reflet
  myItem.ref.inner.loadMovie(nodes[i].attributes.image);
  myItem.ref.onEnterFrame = function(){
   if(this.inner._width>2){
    //quand l'image est chargé, on la met à la bonne dimension
    this.rapport = this.inner._width/this.inner._height;
    this.inner._width=largeurIcons;
    this.inner._height=largeurIcons/this.rapport;
    //on replace le reflet
    this._x=-this.inner._width/2
    this._y=this.inner._height;
    this._parent.masker._width = this.inner._width;
    this._parent.masker._height =hauteurReflet;
    this._parent.masker._x =-this.inner._width/2;    
    //tres important on kill l'enterFrame
    delete this.onEnterFrame;
   }
  }    
  myItem.swapDepths(Math.round(myItem._xscale) + 100 +i); 
  //j'applique la fonction mover a l'enterframe
  myItem.onEnterFrame = mover;  
  //j'associe les attributs lien,tooltips et grandeImage du xml au clip
  myItem.lien=nodes[i].attributes.lien;
  myItem.grandeImage=nodes[i].attributes.grandeImage;
  myItem.tooltip=nodes[i].attributes.tooltip;
  //action au clic qui ouvre le lien de celui ci
  myItem.onRelease = function(){      
   //si l'option lightbox ets active
   if(this.grandeImage!=undefined){    
    //j'arrete le carousel quand la ligthboox s'ouvre
    var my_timedProcess:Number = setTimeout(stopSpeed, 500);
    //j'appelle la fonction dans le js
    ExternalInterface.call("SWFDelegate", ""+this.grandeImage+"",""+this.tooltip+"");
   }else{
    //sinon je fais un lien classique dans une nouvelle fenetre
    //si le lien est renseigné. Sinon, je ne fais rien
    if(this.lien!=undefined){    
     getURL(this.url,"_blank")
    }
   }
  }
  //si la légende est active, je l'affiche au rollOver
  myItem.onRollOver = function(){
   if(isLegende==true){
    afficheLegende(this)    
   }   
  }
  //si la légende est active, je la masque au rollOver
  myItem.onRollOut = function(){
   if(isLegende==true){
    masqueLegende(this)
   }   
  }
 } 
}




//rotation du caroussel
function mover(){  
 this.swapDepths(Math.round(this._xscale) + 100);    
 this._x=Math.cos(this.angle)* radiusX + centerX;
 this._y=Math.sin(this.angle)* radiusY + centerY;
 var s:Number = (this._y - perspective)/(centerY + radiusY- perspective);  
 this.s=s;
 this._xscale=this._yscale=s*100;  
 this.angle += nSpeed;  
}
//mise a jour de la vitesse du caroussel quand la souris bouge
this.onMouseMove = function(){
 nSpeed=(this._xmouse-centerX)/15000;
}


//fonction d'affichage de la légende
function afficheLegende(cible:MovieClip){ 
 clipLegende.onEnterFrame = function(){
  if(this._alpha<100){
   this._alpha +=10;
  }  
  this._x = cible._x - this._width/2;
  this._y = cible._y - cible.s*100 * 3;  
  this.label_txt.text=cible.tooltip;
  this.label_txt.autoSize = true;
  this.bg_mc._width=this.label_txt._width+10;
  this.bg_mc._height=this.label_txt._height+10;  
 }
}


function masqueLegende(cible:MovieClip){ 
 clipLegende.onEnterFrame = function(){
  if(this._alpha>0){
   this._alpha -=10;
  }else if(this._alpha==0){
   this._alpha =0;
   delete clipLegende.onEnterFrame
  }
 } 
}


function stopSpeed(){
 nSpeed=0; 
}
    
    
    
//je lance le chargement du xml
load_xml("icons.xml");

et voici mon doc xml..

13 réponses

cs_alise Messages postés 2203 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 26 janvier 2010
8 sept. 2008 à 20:28
regardes-là tu as la solution au caroussel avec les liens via des html :
http://www.flashforum-oi.info/viewtopic.php?t=123

Alise
from FlashForum-oi.info
0
cs_alise Messages postés 2203 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 26 janvier 2010
8 sept. 2008 à 20:31
0
ludonette Messages postés 10 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 15 septembre 2008
9 sept. 2008 à 05:52
je me suis inscrite sur ton forum masi pas  de réponse donc pas d"acces..
ne peut tut pas me donner la reponse directemetn sur ce forum??
0
cs_alise Messages postés 2203 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 26 janvier 2010
9 sept. 2008 à 08:42
Non, trop long à expliquer, ton compte est activé, de plus tu as les exemples, les sources

Alise
from FlashForum-oi.info
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ludonette Messages postés 10 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 15 septembre 2008
9 sept. 2008 à 10:25
Merci..
je viens de regarder mais les liens que tu me donne en haut ne fonctionne pas ..

et celui trouvé et pour un petit caroussel revue ..
Il est bon ou pas ??

car j'a iessaye de changer dans le XML lien par URL mais du  coup plus rien ne marche ??
merci de ton aide
0
WhiteMagus Messages postés 764 Date d'inscription lundi 21 juin 2004 Statut Membre Dernière intervention 5 février 2010
11 sept. 2008 à 19:25
Je n'ai pas comparé avec ta version pour savoir si c'est le même code, mais cette version marche très bien : http://www.lutincapuche.com/tuto-flash-faire-un-caroussel/

Bye ;)
0
WhiteMagus Messages postés 764 Date d'inscription lundi 21 juin 2004 Statut Membre Dernière intervention 5 février 2010
11 sept. 2008 à 19:25
Ah, j'oubliais, il faut aller au bout de l'article pour voir la version 2, qui inclut des liens.
0
cs_alise Messages postés 2203 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 26 janvier 2010
11 sept. 2008 à 20:12
ben écoutes, le lien fonctionne parfaitement, je viens de vérifier
et pour voir si ça marche, ici

Alise
from FlashForum-oi.info
0
cs_alise Messages postés 2203 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 26 janvier 2010
11 sept. 2008 à 20:15
et si tu veux l'as, le voici, désolé, c'est un peu long ;
mport mx.utils.Delegate;


import mx.transitions.Tween;


import mx.transitions.easing.*;


var numOfItems:Number;


var radiusX:Number = 280; //rayon largeur


var radiusY:Number = 75; // rayon hauteur


var centerX:Number = Stage.width / 2;


var centerY:Number = Stage.height / 2;


var speed:Number = 0.05;


var perspective:Number = 10; // avant 130


var home:MovieClip = this;


theText._alpha = 0;


var tooltip:MovieClip = this.attachMovie("tooltip","tooltip",10000);


tooltip._alpha = 0;


var xml:XML = new XML();


xml.ignoreWhite = true;


var nodes;


xml.onLoad = function()


{


nodes = this.firstChild.childNodes;


numOfItems = nodes.length;


for(var i=0;i<numOfItems;i++)


{


var t = home.attachMovie("item","item"+i,i+1);


t.indice = i;


t.angle = i * ((Math.PI*2)/numOfItems);


t.onEnterFrame = mover;


t.toolText = nodes[i].attributes.tooltip;


t.content = nodes[i].attributes.content;


t.icon.inner.loadMovie(nodes[i].attributes.image);


t.r.inner.loadMovie(nodes[i].attributes.image);


t.icon.onRollOver = over;


t.icon.onRollOut = out;


t.icon.onRelease = released;


}


}


function over()


{


//BONUS Section


var sou:Sound = new Sound();


sou.attachSound("sover");


sou.start();


home.tooltip.tipText.text = this._parent.toolText;


home.tooltip._x = this._parent._x;


home.tooltip._y = this._parent._y - this._parent._height/2;


home.tooltip.onEnterFrame = Delegate.create(this,moveTip);


home.tooltip._alpha = 100;


}


function out()


{


delete home.tooltip.onEnterFrame;


home.tooltip._alpha = 0;


}


function released()


{


//BONUS Section


var sou:Sound = new Sound();


sou.attachSound("sdown");


sou.start();


home.tooltip._alpha = 0;


for(var i=0;i<numOfItems;i++)


{


var t:MovieClip = home["item"+i];


t.xPos = t._x;


t.yPos = t._y;


t.theScale = t._xscale;


delete t.icon.onRollOver;


delete t.icon.onRollOut;


delete t.icon.onRelease;


delete t.onEnterFrame;


if(t != this._parent)


{


var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,t._xscale,0,1,true);


var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,t._yscale,0,1,true);


var tw3:Tween = new Tween(t,"_alpha",Strong.easeOut,100,0,1,true);


}


else


{


var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,t._xscale,100,1,true);


var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,t._yscale,100,1,true);


var tw3:Tween = new Tween(t,"_x",Strong.easeOut,t._x,100,1,true); //position de l'item en x


var tw4:Tween = new Tween(t,"_y",Strong.easeOut,t._y,200,1,true);// position de l'item en y


var tw5:Tween = new Tween(theText,"_alpha",Strong.easeOut,0,100,1,true);


theText.text = t.content;


var s:Object = this;


tw.onMotionStopped = function()


{


s.onRelease = unReleased;


}


}


}


}


function unReleased()


{


//On récupère l'adresse correspondant à l'icone sélectionnée dans le xml


getURL("http://"+nodes[this._parent.indice].attributes.url,_blank);


//BONUS Section


var sou:Sound = new Sound();


sou.attachSound("sdown");


sou.start();


//trace();


delete this.onRelease;


var tw:Tween = new Tween(theText,"_alpha",Strong.easeOut,100,0,0.5,true);


for(var i=0;i<numOfItems;i++)


{


var t:MovieClip = home["item"+i];


if(t != this._parent)


{


var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,0,t.theScale,1,true);


var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,0,t.theScale,1,true);


var tw3:Tween = new Tween(t,"_alpha",Strong.easeOut,0,100,1,true);


}


else


{


var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,100,t.theScale,1,true);


var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,100,t.theScale,1,true);


var tw3:Tween = new Tween(t,"_x",Strong.easeOut,t._x,t.xPos,1,true);


var tw4:Tween = new Tween(t,"_y",Strong.easeOut,t._y,t.yPos,1,true);


tw.onMotionStopped = function()


{


for(var i=0;i<numOfItems;i++)


{


var t:MovieClip = home["item"+i];


t.icon.onRollOver = Delegate.create(t.icon,over);


t.icon.onRollOut = Delegate.create(t.icon,out);


t.icon.onRelease = Delegate.create(t.icon,released);


t.onEnterFrame = mover;


}


}


}


}


}


function moveTip()


{


home.tooltip._x = this._parent._x;


home.tooltip._y = this._parent._y - this._parent._height/2;


}


xml.load("icons.xml");


function mover()


{


this._x = Math.cos(this.angle) * radiusX + centerX;


this._y = Math.sin(this.angle) * radiusY + centerY;


var s = (this._y - perspective) /(centerY+radiusY-perspective);


this._xscale this._yscale s*100;


this.angle += this._parent.speed;


this.swapDepths(Math.round(this._xscale) + 100);


}


this.onMouseMove = function()


{


speed = (this._xmouse-centerX)/9500;//avant 2500

Alise
from FlashForum-oi.info
0
ludonette Messages postés 10 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 15 septembre 2008
14 sept. 2008 à 02:54
oui masia mo iquand je vasi sur le lien de de lutin je ne peut derouler la fenetre çà me met une erreur


internet ne eput ouvrir le site operation abandoné..?


masi autrement je remplace des code dasn mon flash c'est çà


et mon xml est tjs bon ? ou je dosi utliser ton caroussel et ton xml ?
0
ludonette Messages postés 10 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 15 septembre 2008
14 sept. 2008 à 02:54
oui masia mo iquand je vasi sur le lien de de lutin je ne peut derouler la fenetre çà me met une erreur


internet ne eput ouvrir le site operation abandoné..?


masi autrement je remplace des code dasn mon flash c'est çà


et mon xml est tjs bon ? ou je dosi utliser ton caroussel et ton xml ?
0
ludonette Messages postés 10 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 15 septembre 2008
15 sept. 2008 à 20:45
merci..
masi que fais de ton code je remplace le mien sosu flash ouje dois utliser ton caroussel..?
car moi sur le lien je ne peux y accede sa bug et la page se ferme..?
donc impossible de lire le code..
masi si c'est celuyi que tu m'a donner
c'est genial..
0
cs_alise Messages postés 2203 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 26 janvier 2010
15 sept. 2008 à 20:55
Oui, utilises celui que je t'ai donné

Alise
from FlashForum-oi.info
0
Rejoignez-nous