Création d'un Btn dynamique (AS3) avec survol et clip animé

Résolu
wanaigain Messages postés 15 Date d'inscription dimanche 14 décembre 2008 Statut Membre Dernière intervention 24 février 2010 - 19 févr. 2010 à 15:09
wanaigain Messages postés 15 Date d'inscription dimanche 14 décembre 2008 Statut Membre Dernière intervention 24 février 2010 - 24 févr. 2010 à 20:21
Bonjour à tous !
Je suis débutante sur Flash et plus particulièrement avec ActionScript 3.
Je suis en train de me faire un petit site et je butte depuis quelques jours sur la difficulté suivante :
Je souhaite créer dynamiquement 3 boutons avec les 3 états habituels :
• normal,
• survol,
•cliqué

Je souhaiterai que derrière les personnages s'active, au survol de la souris, une petite animation.
Il s'agirait donc d'un clip avec, à l'intérieur, 2 calques :
• perso,
•anim (derrière le perso.)

Je précise que j'ai vraiment envie de le faire dynamiquement pour avancer dans mon apprentissage ;)

J'ai procédé par étape et intégré de façon dynamique un "conteneur" avec mon clip dedans (pas encore animé je précise ;)).
Je lui ai collé un écouteur avec un trace histoire de voir si ça marche.
Vous pouvez visionner le fichier et les visuels à cette adresse :

http://www.paquerettepawa.com/en_cours_2.html

le code ci-dessous montre là ou j'en suis :


/*--------------Positionnement de Margo 1--------------*/
var conteneurMargo1:Sprite = new Sprite();
addChild(conteneurMargo1);

var dessin:clip1;
dessin=new clip1();
conteneurMargo1.addChild(dessin);

conteneurMargo1.x=30;
conteneurMargo1.y=120;

/*--------------Positionnement de Logo--------------*/
var conteneurLogo:Sprite = new Sprite();
addChild(conteneurLogo);

var logoType:logo;
logoType=new logo();
conteneurLogo.addChild(logoType);

conteneurLogo.x=70;
conteneurLogo.y=314;

/*--------------Positionnement de Margo 2--------------*/
var conteneurMargo2:Sprite = new Sprite();
addChild(conteneurMargo2);

var photo:clip2;
photo=new clip2();
conteneurMargo2.addChild(photo);

conteneurMargo2.x=170;
conteneurMargo2.y=148;


/*--------------Positionnement de Margo 2--------------*/
var conteneurMargo3:Sprite = new Sprite();
addChild(conteneurMargo3);

var anim:clip3;
anim=new clip3();
conteneurMargo3.addChild(anim);

conteneurMargo3.x=327;
conteneurMargo3.y=153;


conteneurMargo1.addEventListener(MouseEvent.CLICK, appuyer);
function appuyer (evt)
{
trace("coucou");
}


Voilà toute l'histoire :)
SI quelqu'un peut me filer un coup de main se serait vraiment vraiment chouette parce que je mouline dans la semoule là ;)
En remerciant d'avance chaleureusement toutes les personnes qui m'aideront !!

Marguerite

5 réponses

ChasseurDeChimeres Messages postés 292 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 15 janvier 2013 3
22 févr. 2010 à 22:36
Salut;
Pas de problème pour un coup de main mais explique ta problèmatique clairement...
3
ChasseurDeChimeres Messages postés 292 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 15 janvier 2013 3
24 févr. 2010 à 15:13
salut;
Ben ça m'a l'air plutôt bien foutu;
Sinon ce n'est pas la peine de créer un sprite pour chacun de tes boutons :

var dessin:clip1;
dessin=new clip1();
addChild(dessin);
dessin.x=30;
dessin.y=120;


Sinon, tes boutons sont pas mal, sauf qu'on utilise plutôt des clips avec un stop sur chaque image avec des "eventListener" sur les rollover, rollout, press, release qui lancent des fonctions changeant la place de la tête de lecture selon l'état renvoyé par le "eventlistener". Ce qui permet d'insérer des transitions entre chaque état.
Mais dans le cas présent ta méthode convient parfaitement.
Tu pourrais remplacer le clip tournant par juste un sprite (ou même un dessin en code si t'es vaillant) puis l'animer avec des tweens, mais je trouve cela un peu fastidieux pour le peu de mémoire qui sera économisée.
N'hésite pas à demander plus de précisions (même pour l'intégration du swf das le html).
++
3
wanaigain Messages postés 15 Date d'inscription dimanche 14 décembre 2008 Statut Membre Dernière intervention 24 février 2010
23 févr. 2010 à 08:51
Bonjour ChasseurDeChimeres :)
Alors j'ai un dessin que j'ai converti en clip.
Dans ce clip j'ai 2 images clés : une sans fioriture et une autre avec derrière elle un autre dessin qui tourne ne boucle.
Je souhaite que lorsque la souris passe sur ce clip, l'image 2 de celui-ci s'active : c'est à dire que l'objet qui se trouve derrière mon dessin tourne ne boucle.

Comme je débute avec AS et plus particulièrement avec AS3 j'ai beaucoup de mal à "organiser" des syntaxes au sein d'une fonction. Pas facile d'avoir le bon cheminement "logique" dans les actions à soumettre dans cette fameuse fonction :)
entre temps j'ai quand même pas mal avancé et je te mets en lien là ou j'en suis :
(ce n'est bien sur pas du tout calé et terminé mais c'est déjà une avancée révolutionnaire pour moi ! aha)

http://www.paquerettepawa.com/en_cours_3.html

Comme je tournais en rond, j'ai créé un clip "btn" avec les 3 états standards et ça marche sans problème mais j'aurai aimé savoir comment il fallait faire pour créer ces effets dynamiquement ....
à tout bientôt ;)

M.
0
ChasseurDeChimeres Messages postés 292 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 15 janvier 2013 3
24 févr. 2010 à 15:14
*vaillante (dsl^^)
0

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

Posez votre question
wanaigain Messages postés 15 Date d'inscription dimanche 14 décembre 2008 Statut Membre Dernière intervention 24 février 2010
24 févr. 2010 à 20:21
A okkkkkk !
d'accord je comprends en effet :)

-Pour le sprite du clip1 je ne suis pas obligée ?
J'avais compris qu'il s'agissait de "conteneur d'objet" et comme mon clip en était un ...
Mais peut être ai-je mal compris ?

-Pour le btn animé je comprends le principe après j'ai du mal à visualiser je ferai l'essai ce week end pour voir ;)

En tous les cas merci pour toutes ces précisions c'est très sympa :)
ça m'aide à avancer et je retiens ta proposition d'aide (héhé)
Quand se sera fini je te préviendrai tu me diras ce que tu en penses !
à tt bientôt !!

M.
0
Rejoignez-nous