begin process at 2012 05 28 00:10:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

Zoomer en rollover


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Zoomer en rollover

jeudi 28 juin 2007 à 15:46:46 | Zoomer en rollover

izarox

Bonjour

J'ai 3 boutons sur mon _root (amerique, maritime et europe)

J'aimerais que lorsqu'on rollover ceux-ci, la carte zoom directement sur la bonne section.

cependant je ne sais pas comment réussir ceci

jeudi 28 juin 2007 à 16:23:28 | Re : Zoomer en rollover

Darkrats

Salut,

Tu dois lancer une boucle d'agrandissement quand on passe sur ton bouton :

// Action du bouton
amerique.onRollOver = function(){
    // lancement d'une fonction d'agrandissement
   
agrandissement("amerique");
}
// Fonction de lancement de l'agrandissement demandé
function agrandissement(sContinent){
    // Création des différentes informations
    var valeur_x           :Number = 0;
    var valeur_y           :Number = 0;
    var valeur_zoom    :Number = 0;
    // Analyse du contient
    switch(sContinent){
       case "amerique":
             valeur_x   = 200;
             valeur_y   = 20;
             valeur_zoom = 150;
             break;
       case "europe":
             valeur_x   = 200;
             valeur_y   = 20;
             valeur_zoom = 150;
             break;
       case "maritime":
             valeur_x   = 200;
             valeur_y   = 20;
             valeur_zoom = 150;
             break;
    }
    // Zoom de la carte
    clip_carte._xscale = clip_carte._yscale = valeur_zoom;
    // Repositionnement de la carte (pour éviter que la carte ne sorte de ta zone de travail visible)
    clip_carte._x = valeur_x;
    clip_carte._y = valeur_y;
}


Voilà comment je le ferais.
Il te suffira d'encoder les nouvelles positions de la carte pour qu'elle soit centrée dans ton image.

Si tu veux que ta carte soit animée lors du zoom, il te faut mettre la partie qui zoom et qui repositionne ta carte (dans la fonction agrandissement) dans une boucle (onEnterFrame ou setInterval, au choix)

Si je ne réponds pas assez vite -> messagerie flashkod <--

--------- Darkrats ---------
la loi est dure mais c'est la loi
 -------
jeudi 28 juin 2007 à 16:42:32 | Re : Zoomer en rollover

Darkrats

Re-salut

Alors, comme tu me l'as dit par message privé, on ne peut mettre de FLA dans un post, par contre tu aurais pu le mettre sur un serveur externe et envoyer l'adresse.

Tu dis ne pas être sûr de comprendre et que tu es novice.
Bhein, je répondrai qu'il n'y a rien de difficile à comprendre, tout le code y est.

Il te suffit seulement de copier ce code et de le coller dans la frame où se trouvent tes boutons dans ton root.
Une fois que tu as copié le code, remplace les valeurs x, y et zoom de chaque continent et le tour est joué.

Le principe est que :
1. lorsque tu vas passer ta souris sur un bouton, prenons l'amérique pour exemple, la fonction : amerique.onRollOver = function(){ (...) } va se lancer
2. Cette fonction en appelle une plus générique (agrandissement) et lui passe en paramètre le continent que tu veux voir zoomer : "amerique"
3. La fonction agrandissement va analyser de quel continent tu parles (grâce au switch) et sauver des valeurs x, y et zoom.
4. Une fois que la fonction a trouvé quel est le continent demandé et qu'il a sauvé les informations, il va agrandir le clip de ta carte (grâce aux propriétés : _xscale et _yscale), ainsi que repositionner ta carte pour éviter qu'elle ne sorte de ton plan de travail (à l'aide de _x et _y)

La seule chose que tu as à faire c'est :
    1. copier le code sur un calque du root (là où il y a tes boutons)
    2. dupliquer le code "bouton" de l'amerique et remplacer les valeurs par : maritime et europe
    3. remplacer les valeurs dans le switch pour chaque continent

Est-ce plus clair ?

Réponds de préférence sur le forum plutot qu'en privé, ça permet à d'autres de suivre et de t'aider ou de s'aider en s'inspirant de ton problème .

Si je ne réponds pas assez vite, rappelez le moi
-> messagerie flashkod <--

(assez vite, j'ai dit :P)

--------- Darkrats ---------
la loi est dure mais c'est la loi
----------------------------
 
jeudi 28 juin 2007 à 17:04:11 | Re : Zoomer en rollover

izarox

Oki!! merci sa marche!! yééé!

mes 3 boutton marche quand on passe dessu on va la section agrandi et jai fait une autre fonction pour le rollout on voit limage de base

sauf que...:P

il y a tjs un sauf que!

j'aimerait voir une "transition" entre limage de départ et l'effet de zoom complété

dimanche 1 juillet 2007 à 12:52:44 | Re : Zoomer en rollover

Darkrats

Salut,

Pour les effets de transition, c'est assez simple. Tout dépend évidemment de l'effet en question.

Si ton effet est de simplement agrandir progressivement ton image voici comment je le ferais :

var interval :Number;

amerique.onRollOver = function(){
    // lancement d'une fonction d'agrandissement
   
agrandissement("amerique");
}
amerique.onRollOut = function(){
    // Suppression de l'interval
    clearInterval(interval);
    // Redimensionner correctement la carte là je te laisse retaper le code ^^
}

// Fonction de lancement de l'agrandissement demandé
function agrandissement(sContinent){
    // Création des différentes informations
    var valeur_x           :Number = 0;
    var valeur_y           :Number = 0;
    var valeur_zoom    :Number = 0;
    // Analyse du contient
    switch(sContinent){
       case "amerique":
             valeur_x   = 200;
             valeur_y   = 20;
             valeur_zoom = 150;
             break;
       case "europe":
             valeur_x   = 200;
             valeur_y   = 20;
             valeur_zoom = 150;
             break;
       case "maritime":
             valeur_x   = 200;
             valeur_y   = 20;
             valeur_zoom = 150;
             break;
    }
    // Lancement en boucle de la carte
    interval = setInterval(agrandissement_progressif, 10, 5, 20, 20, 300, 200);
    // Cet interval lancera toutes les 10 milli seconde, un zoom progressif de 5% et déplacera la carte de 20pixel en x et en y seulement si la carte n'a pas un agrandissement = à 300 en x et 200 en y
}

// Fonction qui agrandit et recentre progressivement la carte
function agrandissement_progressif(
valeur_zoom:Number, valeur_x:Number, valeur_y:Number, valeur_x_max:Number, valeur_y_max:Number){
    // Vérification que le zoom n'est pas déjà au maximum
    if(
clip_carte._xscale != valeur_x_max && clip_carte._yscale != valeur_y_max){
       
// Zoom de la carte
        clip_carte._xscale = clip_carte._yscale += valeur_zoom;
       
// Repositionnement de la carte (pour éviter que la carte ne sorte de ta zone de travail visible)
        clip_carte._x += valeur_x;
        clip_carte._y += valeur_y;
    }else{
       clearInterval(interval);
    }
}

Enfin voilà un peu le principe.

En gros, tu dois créer une fonction qui effectuera progressivement ton effet et lancer une fonction "setInterval" ou "onEnterFrame" et penser à l'arrêter une fois fini.
A toi de règler les différents paramètres.

Si je ne réponds pas assez vite, rappelez-moi
-> messagerie flashkod <--

(assez vite, j'ai dit :P)

--------- Darkrats ---------
la loi est dure mais c'est la loi
----------------------------


Cette discussion est classée dans : rollover, zoomer


Répondre à ce message

Sujets en rapport avec ce message

rollover et petit message info ? [ par mardie ] mammy du web re rollover etc... [ par mardie ] oups ! j'ai les doigts palmés ce soir et je suis allé un peu vite ! je cherche comment faire pour que quand la souris passe sur un espace bien défini, comment faire zoomer un clip ???????? [ par jeanmed ] SalutJe desire faire zoomer un plan lors du passage du curseur de la sourie.J ai un c t un symbole CLIP.Merci de votre aideSalutation bouton qui reste en position "onPress" [ par delfe ] Bonjour,Comment faire pour qu'un bouton avec un rollover reste dans sa position "on press" sans que le rollover soit activé.Cà dire: rollover 1 fois p plusieurs actions sur rollover [ par vlaamse ] Bonjour , j'ai actuellement ce code sur un bouton , qui donne cela : on (rollOver) { setProperty("/vna", _visible, "-1");}on (rollOut) {}on (rollOu apeller un MC a une image [ par vlaamse ] bonjour à tous, je souhaiterai lorsque j'effectue un rollover sur un bouton, faire apparaître un MC à partie de l'image 2 de ce même MC.Pour l'instant RollOver + Texte défilant [ par lulociel ] Bonjour,Je souhaite faire défiler un texte quand on passe la souris sur celui-ci (ou sur un bouton).j' ai essayé avec un bouton et onRollOver mais je pb RollOver [ par spads ] Bonjour à tous,j'ai une comBo à laquelle j'attache un movieClip ( une icone dans le coin en haut à gauche comme celles du textField des composants Fla aide rollover, roll out [ par sebastienbel ] Bonsoir,Voila j'essaie les boutons avec actions de déplacement d'images en rolloverSeulement j'aimerais faire en sorte que l'animation revienne en pla on (rollOver) [ par julia2107 ] Bonjour à tous,j'ai un petit soucis sur flash mx. Voilà : j'ai un bouton et quand on le survole un clip de plusieurs images se met à défiler. Ma quest


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales