Flash Mettre un lien sur un menu elastic :s

Flash Mettre un lien sur un menu elastic :s - Web design - Graphisme

Marsh Posté le 07-07-2004 à 10:38:43    

Bonjour j'ai trouver sur Flashxpress.net un petit tuto  
http://www.flashxpress.net/index.php?f_as#as_appli( )
avec un *.fla expliquant comment faire un menu elastic :)
 
Apres l'avoir regler a ma guise et changer les clip je n'arrive pas a trouver comment mettre un lien sur chaques boutons
 
 
Voici le code avec mes valeur un peu modifier pour qu'il soit un peu moin "agité" :)
 
[]for (i=0; i<8; i++) {
 ///////////////////
 // MISE-EN-PLACE //
 ///////////////////
 var c = this.attachMovie("idClip","clip"+i, i);
 c._x = 90+60*i;
 c._y = 150;
 c.numero.text = i+1;
 c.big = false;
 ////////////////////////////////////////////
 // FONCTION A APPELER A CHAQUE ENTERFRAME //
 ////////////////////////////////////////////
 c.onEnterFrame = function(){
  this.swapDepths(this._xscale*5);
  if (this.big == true) {
   redimensionneClip(this,110);
  } else {
   redimensionneClip(this,100);
  }
 }
 //////////////////////////////////
 // FONCTION A APPELER AU SURVOL //
 //////////////////////////////////
 c.onRollOver = function(){
  this.big = true;
 }
 ////////////////////////////////////////////
 // FONCTION A APPELER AU SORTIR DU SURVOL //
 ////////////////////////////////////////////
 c.onRollOut = function(){
  this.big = false;
 }
}
/////////////////////////////////////////////
// LA FONCTION QUI REDIMENSIONNE LES CLIPS //
/////////////////////////////////////////////
function redimensionneClip(pClip, pTailleFinale){
 pClip.scale = (pTailleFinale-pClip._xscale)*0.5 + (pClip.scale)*0.6;
 pClip._xscale += pClip.scale;
 pClip._yscale += pClip.scale;
 }[/]

 
Quelqun sait il comment rajouter des url sur lorsque on click sur les boutons ?


Message édité par le_parrain le 07-07-2004 à 10:40:19
Reply

Marsh Posté le 07-07-2004 à 10:38:43   

Reply

Marsh Posté le 07-07-2004 à 10:59:34    

Tu fais un tableau 'adr' avec les adresses correspondant à tes boutons et puis dans ta boucle for, tu ajoutes ça:

Code :
  1. c.onRelease = function() {
  2.    getURL(adr[i], "_self" );
  3. }


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
Reply

Marsh Posté le 07-07-2004 à 11:20:00    

Banane masquee a écrit :

Tu fais un tableau 'adr' avec les adresses correspondant à tes boutons et puis dans ta boucle for, tu ajoutes ça:

Code :
  1. c.onRelease = function() {
  2.    getURL(adr[i], "_self" );
  3. }



 
exact !  :jap:

Reply

Marsh Posté le 07-07-2004 à 12:08:56    

ah bien vu super :p  
merci banane magique!

Reply

Marsh Posté le 07-07-2004 à 12:10:08    

le_parrain a écrit :

ah bien vu super :p  
merci banane magique!


De rien... :sol:


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
Reply

Marsh Posté le 07-07-2004 à 15:23:56    

hmmm, il reste un leger probleme :p  
il ne se passe rien quand je click  :sweat:  
 
 
 

Code :
  1. //////////////////
  2. //  Tableau Adr //
  3. //////////////////
  4. var adr = new Array ();
  5. adr[1] = "http://www.yahoo.fr" ;
  6. adr[2] = "http://www.google.fr" ;
  7. ////////////////
  8. //Boucle For///
  9. ///////////////
  10. for (i=0; i<8; i++) {
  11. c.onClick = function() {
  12.        getURL(adr[i], "_self" );
  13.   }
  14. ///////////////////
  15. // MISE-EN-PLACE //
  16. ///////////////////
  17. var c = this.attachMovie("idClip","clip"+i, i);
  18. c._x = 90+60*i;
  19. c._y = 150;
  20. c.numero.text = i+1;
  21. c.big = false;
  22. ////////////////////////////////////////////
  23. // FONCTION A APPELER A CHAQUE ENTERFRAME //
  24. ////////////////////////////////////////////
  25. c.onEnterFrame = function(){
  26.  this.swapDepths(this._xscale*5);
  27.  if (this.big == true) {
  28.   redimensionneClip(this,110);
  29.  } else {
  30.   redimensionneClip(this,100);
  31.  }
  32. }
  33. //////////////////////////////////
  34. // FONCTION A APPELER AU SURVOL //
  35. //////////////////////////////////
  36. c.onRollOver = function(){
  37.  this.big = true;
  38. }
  39. ////////////////////////////////////////////
  40. // FONCTION A APPELER AU SORTIR DU SURVOL //
  41. ////////////////////////////////////////////
  42. c.onRollOut = function(){
  43.  this.big = false;
  44. }
  45. }
  46. /////////////////////////////////////////////
  47. // LA FONCTION QUI REDIMENSIONNE LES CLIPS //
  48. /////////////////////////////////////////////
  49. function redimensionneClip(pClip, pTailleFinale){
  50. pClip.scale = (pTailleFinale-pClip._xscale)*0.5 + (pClip.scale)*0.6;
  51. pClip._xscale += pClip.scale;
  52. pClip._yscale += pClip.scale;
  53. }


 
j'arrive pas a voir ou es le problème  :??:  
une idée ?
 
 
(c'est pas le onClick a la place du onRelease pke j'ai essayer les deux  :sarcastic: )


Message édité par le_parrain le 07-07-2004 à 15:26:03
Reply

Marsh Posté le 07-07-2004 à 15:26:45    

En mettant la fonction 'c.onRelease' (c'est mieux que 'c.onClick') après la définition de 'c', ça devrait déjà mieux marcher... Et sinon, commence ton tableau à 0 si tu veux avoir quelque chose en cliquant sur ton 1º bouton...


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
Reply

Marsh Posté le 07-07-2004 à 15:30:19    

j'essaye :)
 
bouh ça marche pas il se passe toujours rien :heink:  
 
il manque surment qqchose ? :??:


Message édité par le_parrain le 07-07-2004 à 15:32:18
Reply

Marsh Posté le 07-07-2004 à 16:03:37    

C'est quoi ce code tout crado!!! :non: Il manque des '.', des ',' et des ')' un peu partout!
 
Je t'ai corrigé tout ça:

Code :
  1. adr = new Array ("http://www.tiscali.fr", "http://www.yahoo.fr", "http://www.google.fr" );
  2.  
  3.    ////////////////  
  4.    //Boucle For///  
  5.    ///////////////  
  6.   for (i=0; i<8; i++) {
  7.      
  8.      var c = this.attachMovie("idClip","clip"+i, i);
  9.      c._x = 90+60*i;
  10.      c._y = 150;
  11.  c.num = i;
  12.      c.numero.text = i+1;
  13.      c.big = false;
  14.      ////////////////////////////////////////////  
  15.      // FONCTION A APPELER A CHAQUE ENTERFRAME //  
  16.      ////////////////////////////////////////////  
  17.      c.onEnterFrame = function(){
  18.         this.swapDepths(this._xscale*5);
  19.         if (this.big == true)  {
  20.            redimensionneClip(this,110);
  21.           } else {
  22.            redimensionneClip(this,100);
  23.         }
  24.      }
  25.      //////////////////////////////////  
  26.      // FONCTION A APPELER AU SURVOL //  
  27.      //////////////////////////////////  
  28.      c.onRollOver = function(){
  29.         this.big = true 
  30.      }
  31.      ////////////////////////////////////////////  
  32.      // FONCTION A APPELER AU SORTIR DU SURVOL //  
  33.      ////////////////////////////////////////////  
  34.      c.onRollOut = function(){
  35.         this.big = false 
  36.      }
  37.  ////////////////////////////////////////////  
  38.      // FONCTION A APPELER AU CLIC SOURIS      //  
  39.      ////////////////////////////////////////////  
  40.  c.onRelease = function() { 
  41.         getURL(adr[this.num], "_blank" ); 
  42.      }
  43.   }
  44.   /////////////////////////////////////////////  
  45.   // LA FONCTION QUI REDIMENSIONNE LES CLIPS //  
  46.   /////////////////////////////////////////////  
  47.   function redimensionneClip(pClip, pTailleFinale){
  48.      pClip.scale = (pTailleFinale-pClip._xscale)*0.5 + (pClip.scale)*0.6;
  49.      pClip._xscale += pClip.scale;
  50.      pClip._yscale += pClip.scale;
  51.    }


Message édité par Banane masquee le 07-07-2004 à 16:04:11

---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
Reply

Marsh Posté le 07-07-2004 à 16:11:25    

euh ui :s
 
merci de t'etre donné la peine de corriger, c'est pas tres propre en même temps vous aurez devinez que je suis pas tres doué en code  :p  
 
j'ai copier ce que tu a mis et l'anime se lance plus :s
 
j'ai ça comme erreur  
 

Citation :

**Erreur** Séquence = Scène 1, calque = ACTIONS, image = 1 :Ligne 8 : Erreur de syntaxe.
              var c = this attachMovie("idClip","clip"+i, i);  
 
**Erreur** Séquence = Scène 1, calque = ACTIONS, image = 1 :Ligne 18 : Erreur de syntaxe.
                   this swapDepths(this _xscale*5);  
 
**Erreur** Séquence = Scène 1, calque = ACTIONS, image = 1 :Ligne 19 : ')' attendu
                   if (this big == true   {  
 
**Erreur** Séquence = Scène 1, calque = ACTIONS, image = 1 :Ligne 20 : ')' ou ',' attendu
                        redimensionneClip(this 110);  
 
**Erreur** Séquence = Scène 1, calque = ACTIONS, image = 1 :Ligne 21 : 'else' rencontré sans 'if' correspondant
                       } else {  
 
**Erreur** Séquence = Scène 1, calque = ACTIONS, image = 1 :Ligne 22 : ')' ou ',' attendu
                        redimensionneClip(this 100);  
 
**Erreur** Séquence = Scène 1, calque = ACTIONS, image = 1 :Ligne 23 : }' inattendu
                   }  
 
Total des erreurs ActionScript : 7   Erreurs signalées : 7


Message édité par le_parrain le 07-07-2004 à 16:13:34
Reply

Marsh Posté le 07-07-2004 à 16:11:25   

Reply

Marsh Posté le 07-07-2004 à 16:15:59    

OK... en fait c'est les balises de code du forum qui remplacent les '.' après 'this' en espaces...
Je tente une autre méthode:

Citation :

 adr = new Array ("http://www.tiscali.fr", "http://www.yahoo.fr", "http://www.google.fr" );  
   
   ////////////////  
   //Boucle For///  
   ///////////////  
  for (i=0; i<8; i++) {  
       
     var c = this.attachMovie("idClip","clip"+i, i);  
     c._x = 90+60*i;  
     c._y = 150;  
  c.num = i;
     c.numero.text = i+1;  
     c.big = false;
     ////////////////////////////////////////////  
     // FONCTION A APPELER A CHAQUE ENTERFRAME //  
     ////////////////////////////////////////////  
     c.onEnterFrame = function(){  
        this.swapDepths(this._xscale*5);  
        if (this.big == true)  {  
           redimensionneClip(this,110);  
          } else {  
           redimensionneClip(this,100);  
        }  
     }  
     //////////////////////////////////  
     // FONCTION A APPELER AU SURVOL //  
     //////////////////////////////////  
     c.onRollOver = function(){  
        this.big = true  
     }  
     ////////////////////////////////////////////  
     // FONCTION A APPELER AU SORTIR DU SURVOL //  
     ////////////////////////////////////////////  
     c.onRollOut = function(){  
        this.big = false  
     }  
  ////////////////////////////////////////////  
     // FONCTION A APPELER AU CLIC SOURIS      //  
     ////////////////////////////////////////////  
  c.onRelease = function() {  
   trace(this.num + ": " + adr[this.num]);
        getURL(adr[this.num], "_blank" );  
     }  
  }  
  /////////////////////////////////////////////  
  // LA FONCTION QUI REDIMENSIONNE LES CLIPS //  
  /////////////////////////////////////////////  
  function redimensionneClip(pClip, pTailleFinale){  
     pClip.scale = (pTailleFinale-pClip._xscale)*0.5 + (pClip.scale)*0.6;  
     pClip._xscale += pClip.scale;  
     pClip._yscale += pClip.scale;  
   }


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
Reply

Marsh Posté le 07-07-2004 à 16:16:24    

Voilà c'est mieux comme ça... :)


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
Reply

Marsh Posté le 07-07-2004 à 16:22:40    

Banane masquee a écrit :

Voilà c'est mieux comme ça... :)


 
Superrr !!! :bounce:  
ça marche :D  :love:  c'est genial comme ça merci t'es ma bannane préférée ! Woaw :wahoo:  c'est super  
 
 
 
 
 
 :jap:  j'espere que ce Topic servira aussi a d'autre gens tant qu'a faire je vais mettre mon Menu en exemple comme ça, ça donne une idée de ce a quoi ça ressemble :)

Reply

Marsh Posté le 07-07-2004 à 16:36:40    

et voila :)  
 
http://teamfrag.free.fr/menu_elasticdo.html
 
l'estetique est pas extra mais, ça donne une idée de ce que l'on peut en faire, la j'ai enlever la ligne :
 
pClip._yscale += pClip.scale;  
 
 
pour que l'image ne s'étire que sur les cotés :)
 
encore merci a banane magique !

Reply

Marsh Posté le 07-07-2004 à 16:36:48    

J'veux bien voir aussi ce que ça donne au final... Car le "c.numero.text" cache quelquechose...


Message édité par Banane masquee le 07-07-2004 à 16:47:22

---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
Reply

Marsh Posté le 07-07-2004 à 16:42:39    

En fait 'c.numero', c'est juste un TextField...


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
Reply

Marsh Posté le 08-07-2004 à 16:58:22    

hmmm.. il est sympa ce menu mais il manque un pti peu de son quand on survol les touches, alors j'ai essayer de trifouiller un petit peu et j'ai rajouter ça  
 
(mon son s'appelle SONAR)
 

Citation :

   
   ////////////////  
   //Boucle For///  
   ///////////////  
  for (i=0; i<8; i++) {  
       
     var c = this.attachMovie("idClip","clip"+i, i);  
     c._x = 20+35*i;  
     c._y = 25;  
  c.num = i;  
     c.numero.text = i+1;  
     c.big = false;  
     ////////////////////////////////////////////  
     // FONCTION A APPELER A CHAQUE ENTERFRAME //  
     ////////////////////////////////////////////  
     c.onEnterFrame = function(){  
        this.swapDepths(this._xscale*8);  
        if (this.big == true)  {  
           redimensionneClip(this,150);  
          } else {  
           redimensionneClip(this,100);  
        }  
     }  
     //////////////////////////////////  
     // FONCTION A APPELER AU SURVOL //  
     //////////////////////////////////  
     c.onRollOver = function(){  
        this.big = true    
     }  
     ////////////////////////////////////////////  
     // FONCTION A APPELER AU SORTIR DU SURVOL //  
     ////////////////////////////////////////////  
     c.onRollOut = function(){  
        this.big = false    
     }  
  ////////////////////////////////////////////  
     // FONCTION A APPELER AU CLIC SOURIS      //  
     ////////////////////////////////////////////  
  c.onRelease = function() {    
   trace(this.num + ": " + adr[this.num]);  
        getURL(adr[this.num], "_self" );  
       }  
  }  
 c.onRollOver = function() {
  Sonsonar = new Sound(this);
 Sonsonar.attachSound("SONAR" );
 Sonsonar.start();
}

 
  /////////////////////////////////////////////  
  // LA FONCTION QUI REDIMENSIONNE LES CLIPS //  
  /////////////////////////////////////////////  
  function redimensionneClip(pClip, pTailleFinale){  
     pClip.scale = (pTailleFinale-pClip._xscale)*0.5 + (pClip.scale)*0.6;  
     pClip._xscale += pClip.scale;
  pClip._yscale += pClip.scale;  
     
   }  


 
 
 
pourquoi ça marche po ? :pfff:


Message édité par le_parrain le 08-07-2004 à 16:59:05
Reply

Marsh Posté le 08-07-2004 à 17:35:53    

ahahah ! je vous ai collé la ! :p
Allez un poster dédikassé du chat potté a celui qui trouve :p

Reply

Marsh Posté le 08-07-2004 à 22:11:15    

Sors les 2 premières lignes de ton onRollOver déjà... Sinon, SONAR c'est un son dans ta bibliothèque?

Reply

Marsh Posté le 08-07-2004 à 22:14:38    

Mais c'est le "c.onRollover" qui n'est pas dans le for!!!

Reply

Marsh Posté le 10-07-2004 à 10:03:40    

j'ai modifier, ça devrait marcher comme ça ...
 

Citation :

adr = new Array ("http://directoccasioncom.phidji.com/1-index.asp", "http://directoccasioncom.phidji.com/ile_de_france_sud.asp", "http://directoccasioncom.phidji.com/centre.asp", "http://directoccasioncom.phidji.com/ouest_bretagne.asp", "http://directoccasioncom.phidji.com/sud-ouest.asp", "http://directoccasioncom.phidji.com/nord.asp", "http://directoccasioncom.phidji.com/est.asp", "http://directoccasioncom.phidji.com/rhône_alpes.asp", "http://directoccasioncom.phidji.com/mediterranee.asp" );  
     
   ////////////////  
   //Boucle For///  
   ///////////////  
  for (i=0; i<8; i++) {  
         
     var c = this.attachMovie("idClip","clip"+i, i);  
     c._x = 20+35*i;  
     c._y = 25;  
  c.num = i;  
     c.numero.text = i+1;  
     c.big = false;  
     ////////////////////////////////////////////  
     // FONCTION A APPELER A CHAQUE ENTERFRAME //  
     ////////////////////////////////////////////  
     c.onEnterFrame = function(){  
        this.swapDepths(this._xscale*8);  
        if (this.big == true)  {  
           redimensionneClip(this,150);  
          } else {  
           redimensionneClip(this,100);  
        }  
     }  
     //////////////////////////////////  
     // FONCTION A APPELER AU SURVOL //  
     //////////////////////////////////  
     c.onRollOver = function(){  
        this.big = true   ;
  Sonsonar.start();
       }  
     ////////////////////////////////////////////  
     // FONCTION A APPELER AU SORTIR DU SURVOL //  
     ////////////////////////////////////////////  
     c.onRollOut = function(){  
        this.big = false    
     }  
  ////////////////////////////////////////////  
     // FONCTION A APPELER AU CLIC SOURIS      //  
     ////////////////////////////////////////////  
  c.onRelease = function() {    
   trace(this.num + ": " + adr[this.num]);  
        getURL(adr[this.num], "_self" );  
       }    
  }  
 
 
  /////////////////////////////////////////////  
  // LA FONCTION QUI REDIMENSIONNE LES CLIPS //  
  /////////////////////////////////////////////  
  function redimensionneClip(pClip, pTailleFinale){  
     pClip.scale = (pTailleFinale-pClip._xscale)*0.5 + (pClip.scale)*0.6;  
     pClip._xscale += pClip.scale;
  pClip._yscale += pClip.scale;  
     
   }  
 

Reply

Marsh Posté le 11-07-2004 à 14:27:50    

Alors... et mon poster dédicassé du chat potté??? :sarcastic:


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
Reply

Marsh Posté le 12-07-2004 à 17:35:40    

Banane masquee a écrit :

Alors... et mon poster dédicassé du chat potté??? :sarcastic:


 
Honte a moi :pt1cable:  
 
tiens !!!
http://teamfrag.free.fr/chatbotte.jpg


Message édité par le_parrain le 12-07-2004 à 17:36:16
Reply

Marsh Posté le 13-07-2004 à 08:50:35    

C'est un faux!!! L'imposteur a signé "Le chat Botté" et non pas "Le Chat Potté"!!! Remboursé!!!


---------------
Il y a 10 sortes de personnes. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas. *** Utilitaire pour MJ du jeu du dico
Reply

Marsh Posté le 14-07-2004 à 14:07:29    

tu veut dire que je me suis fait arnaké ?  :ouch:  
 
 
j'achèterai plus jami sur ebay  :pfff: ...

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed