Tom's Guide > Forum > Programmation > Faire un menu animé en flash

Faire un menu animé en flash

Forum Programmation : Faire un menu animé en flash

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

:hello: Salut tout le monde ! :hello:
J'ai eu beau chercher, je n'ai pas trouver comment faire en un menu animer en flash...je m'explique :

je voudrais mettre une tite image au centre de l'écran avec des boutons ronds disposés en cercle autour de cette image...
Et lorsque qqn clik sur un des rond, la page associé viens (en glissant) de la direction du bouton par rapport au centre de l'écran...

Encore merci à tous d'avance ^_^

Je crois qu'il faut utiliser les clip enfin je ne sais pas mais je suppose...

Si quelqu'un peut m'aider et/ou me dire comment faire

Sinon merci de me donner des liens vers lesquels celà peut-être expliqué !!!

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.
- -1 +

Ce que souhaite faire impose de faire tout le site en flash (a moins qu'il soit possible d'integrer du javascript dans flash, je ne sais pas).

En FLASH : (pour un bouton)

Tu creer un clip contenant ta page.
Ensuite, tu insere ce clip dans un autre clip pour creer une interpolation de mouvement :

DEBUT : Clip petit situé deriere le bouton (pourquoi un tranformation-rotation !?)
FIN : Clip a l'emplacement final désiré. avec une action stop();

Ce deuxieme clip (contenant l'interpolation) sera nommé ici (nom d'occurrence) Page1Mvt par ex

Enfin, sur le bouton en question tu met l'action suivant :


on(release) //clic relaché
{
_root.pageClose(); //fonction decrite plus bas
_root.num=1; //indique le numero de la page
Page1Mvt.play();
}


il faudrait aussi une variable (_root.num par ex) contenant le numero de la page actuel pour ramener ce clip a l'etat initial (page derriere le bouton)

function pageClose()
{
switch(_root.num)
{
case 0 : Page0Mvt.gotoAndStop(1);break;
case 1 : Page1Mvt.gotoAndStop(1);break;
case 2 : Page2Mvt.gotoAndStop(1);break;
.....
default : //on fait rien
}
}

Ceci ne fais pas : la page actuelle retourne a son etat initiale avec l'interpolation inverse. si tu le souhaite : 2 sol

* dans le meme clip Page1mvt tu creer a la suite l'interpolation inverse. (a gerer avec des codes/variables supplementaires)
* Tu insere le clip Page1mvt dans un autre clip de 2 frames auquel tu met les actions suivantes (sur la frame 1) :

si il faut faire l'interpolation inverse :
Page1mvt.prevFrame();
si il faut faire l'interpolation normalement.
Page1mvt.nextFrame();

A gerer avec plus de code (quand on s'arrete ? etc.). et gerer le cas ou on ne fais pas du tout de mvt.

Enfin, il doit y avoir d'autres astuces, mais c'est celle qui me vient a l'esprit.
Ma redaction est clair ? :-D

A+

Répondre à cbil

Oui oui bonne rédaction mais un peu compliqué car je ne m'y connais que peut dans le script Flash...mais je m'y connais en langage C donc j'me rattrape à ça ^^
Mais merci de ta réponse ! je vais me casser la tête un pti moment sur ton idée et j'vais le faire quand j'aurais compris et quand j'aurais trouvé des simplifications !

Sur ce, bye et bonne continuation ! encore énorme merci pour ta réponse !

Répondre à gryphus71

Bon est bien j'ai a peu près suivi ce que tu m'as di de faire mais j'ai un problème ...
Dans le clip d'interpolation j'ai mis un stop en frame1 et en frame de fin pour pas que ça boucle le monvement...
Mais peux-tu me dire quel script je dois entrer à l'action du bouton pour aller à la frame 2 du clip de mouvement et lire ce qu'il y a après (en locurence le mouvement !)

Dans mon .fla : page1Mvt c'est AnimationBouton1 ;-)
j'ai essayé :

on (release) {
_root.AnimationBouton1.gotoAndPlay(2);
}

et ca :

on (release) {
_target.AnimationBouton1.gotoAndPlay(2);
}

Mais aucun ne marche :'(

Répondre à gryphus71
- 0 +

Bon je suis pas sur de moi (c pas facile de corriger sans le source :-? ) mais verifie cela :

- Le nom du clip "AnimationBouton1" ne doit pas etre le nom du clip dans la bibliotheque (CTRL+L) mais le nom d'occurence du clip (a ajouter dans les propriétés du clip)

La difference : un meme clip peut avoir un nom d'occurence different. si tu en place deux meme clip dans une anim, le nom d'occurence de l'un peut etre "clippremier" et l'autre "clipsecond".

- Si le probleme ne vient pas de la, ca vient sans doute de _root. utilisé route signifie que ton clip est situé dans l'anim principal et non dans un autre clip.
Il faut situé le clip dans la hierarchie par rapport au bouton. (utilisé _parent ou _target...)

(j'ai rarement des niveaux de hiearchies a gerer, je connais pas trop...)

sinon target ne s'utilise pas comme ca mais :

on(release)
{
AnimationBouton1._target.gotoAndPlay(2);
}


voila !
(consulte l'aide de flash mx a propos des hierarchies....tu comprendra sans doute mieux.)

bonne chance !

Répondre à cbil

Et bien encore milles merci à se brave Cbil !!!
Le problème venait du nom d'occurence que j'avais oublié de définir.
Et laisse tomber les _root et _target : j'ai utilisé :
this.clippremier.clipsecond.GotoAndPlay(2);
par exemple !

Mais maintenant je maitrise totalement les Clip ^^ grace à un super site que j'ai trouvé très sympa et très bien fait :
[urm=Et bien encore milles merci à se brave Cbil !!!
Le problème venait du nom d'occurence que j'avais oublié de définir.
Mais maintenant je maitrise totalement les Clip ^^ grace à un super site que j'ai trouvé très sympa et très bien fait :
http://www.flashhouse.net
Par contre ce site est dépourvu d'un petit moteur de recherche...j'ai la solution ^^ google :
mettez le nom du site "flashhouse.net" suivi de ce que vous chercher. La plupart du temps vous trouverez votre bonheur dans les premières adresses qui sortiront !

Et pour terminer :
+10 pour Cbil !!!!!!!!!!!!
Très sympa, rapide et il donne des bonnes solutions !!! lol

Répondre à gryphus71
Tom's Guide > Forum > Programmation > Faire un menu animé en flash
Aller à :

Il y a 2419 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens