cs_alise
Messages postés2203Date d'inscriptionlundi 12 juillet 2004StatutMembreDernière intervention26 janvier 2010
-
13 sept. 2005 à 08:07
labobinette
Messages postés12Date d'inscriptionmercredi 7 septembre 2005StatutMembreDernière intervention14 septembre 2005
-
14 sept. 2005 à 00:03
Je poste pour LABOBINETTE qui a des soucis avec la TexBox du Forum, voici sa question :
Bonjour,le script ci-dessous fonctionne mais seulement 1 fois.
Je voudrais qu'il soit valide tout le temps. Le principe : quand on clic sur
un bouton ça fait déplacer simultanément d'autres boutons. Leur déplacement
et leur arret sont fonction de leurs positions initiales.Je débute et j'ai
bidouillé ce script à partir d'un autre trouvé sur le net alors il va
peut-etre vous sembler un peu tordu... Est-ce que quelqu'un pourrait
m'aider? Merci d'avance!
cs_goldenboy68
Messages postés1596Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention 9 juin 20112 13 sept. 2005 à 11:32
Hmmm...première remarque:
Tu crées des "onEnterFrame" qui ne sont jamais supprimés...à éviter!
Ensuite, si ça marche la première fois, c'est que t'as bidouillé le code avec les positions de départ de tes boutons non? (pour que G1=true ou G2=true)
Mais une fois que t'as fait bouger tes boutons, c'est normal que G1=false ou G2=false...faudrait un gros coup de bol pour que les boutons passent sans arrêt de G1 à G2! lol ...oups, viens de penser à un truc...c'est ça que tu veux? Que ça passe de G1 à G2 et inversement tout le temps?
Faudrait des infos complémentaires pour savoi ce que tu veux exactement (condition d'arrêt...faire un trace() de la position de tes boutons en cours de déplacement et observer l'évolution)
cs_alise
Messages postés2203Date d'inscriptionlundi 12 juillet 2004StatutMembreDernière intervention26 janvier 2010 13 sept. 2005 à 14:53
"En gros, pour décrire le truc, mes boutons sont des barres intialement collées les unes aux autres et qui se séparent ou se rapprochent en fonction des clics. Quand elles se séparent elles ouvrent un espace dans lequel des images s'affichent et quand elles se rapprochent elles ferment cet espace."
C'est un peu le style du composant "Accordion", mais à la verticale
cs_goldenboy68
Messages postés1596Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention 9 juin 20112 13 sept. 2005 à 15:04
Ah ben oui...même pas vu qu'c'était sur un bouton...tellement pas l'habitude d'utiliser des boutons! lol
avant de faire:
xPositionIllustration = this.BTillustration. _x;
xPositionScenographie = this.BTscenographie. _x;
xPositionDivers = this.BTdivers. _x;
xPositionCvinfos = this.BTcvinfos. _x;
fais:
trace(this.BTillustration._x);
trace(this.BTscenographie._x);
...
et vérifies ce que tu obtiens...si c'est pareil que G1 ou G2, ça
devrait être bon...mais bon, faut régler l'histoire du onEnterframe
(même si ça le fait une fois, ça devrait fonctionner)
cs_alise
Messages postés2203Date d'inscriptionlundi 12 juillet 2004StatutMembreDernière intervention26 janvier 2010 13 sept. 2005 à 15:14
"Pour le supprimer, rajoute:
if(t >= 1) {
t 1; dt 0;delete this.onEnterFrame;
} else {
if(t <=0) {
t 0; dt 0;delete this.onEnterFrame;
}"
...va savoir si ça marche sur des boutons, jamais essayé!
Non Samy, ça ne marche pas sur des boutons ça c'est sûr (voir C.Moock) et perso le code je le présente comme ci-dessus.
labobinette
Messages postés12Date d'inscriptionmercredi 7 septembre 2005StatutMembreDernière intervention14 septembre 2005 13 sept. 2005 à 14:35
Non, ce n'est pas exactement ça. ça ne doit pas passer seulement de l'un à l'autre quand tu clic. Il y aura d'autre "combinaisons" possible. Il y aura un G3, un G4 et un G5. Ces 3 autres positions seront provoquées, elles, par d'autres boutons. Au clic sur le bouton qui contient le script ci-dessus, il y aura G1 ou G2 ou G3 ou G4 ou G5 qui sera vérifié. En tout j'ai 5 boutons et chacun de ces boutons a 5 combinaisons possible.
En gros, pour décrire le truc, mes boutons sont des barres intialement collées les unes aux autres et qui se séparent ou se rapprochent en fonction des clics. Quand elles se séparent elles ouvrent un espace dans lequel des images s'affichent et quand elles se rapprochent elles ferment cet espace.
Je ne sais pas si c plus clair ou si je t'embrouille davantage là...
labobinette
Messages postés12Date d'inscriptionmercredi 7 septembre 2005StatutMembreDernière intervention14 septembre 2005 13 sept. 2005 à 14:53
Mais bon pour l'instant, il n'y a pas les autres combinaisons, donc, oui, j'imaginais que ça allait passer de l'un à l'autre à chaque clic puisque une fois que le script associé à G1 se termine, les bouton se retrouvent dans les positions adequats pour que G2 se réalise et inversement. Ah mais c'est vrai que la position des boutons se détermine par rapport à x1 et x2 que j'ai bidouillé... et non pas par rapport à la scène...
et vérifies ce que tu obtiens...si c'est pareil que G1 ou G2, ça devrait être bon...
C'est pareil que G1 et G2 aux 2 premiers clics et apres ça s'inverse.
J'ai :
19, 38, 57, 76 (G1) ET 492, 511, 530, 549 (G2) PUIS 76, 57, 38, 19 (l'inverse de G1).
Mais en fait c'est normal puisque j'ai inversé les valeurs de x1 et x2 en G2. Il garde ces dernières valeurs. Bon je penche là-dessus... faut une autre fonction.
Sinon pour les onEnterFrame, g essayé de placé le script entier sur un clip vide placé sur la même frame mais je ne sais pas comment le lier au clic sur le bouton.
Sinon g aussi essayé de mettre le script en action d'image avec au début :
this.BTgraphisme.onRelease = funtion () {
(BTgraphisme c le bouton sur lequel j'avais placé le script au départ) Mais il n'y a que g1 qui fonctionne quand je fais ça.
Mais je n'ai pas encore essayé ton dernier code goldenboy... Avec tout ça je devrais y arriver!
cs_alise
Messages postés2203Date d'inscriptionlundi 12 juillet 2004StatutMembreDernière intervention26 janvier 2010 13 sept. 2005 à 20:36
Je t'envoi par mail un simple exemple "pure anim flash", mais qui je pense fonctionne selon tes désirs, c'est le B.A BA animflash réduit en un simple MC.
Demain je te prépare un ex en progra avec un "ralenti", je mettrais à dispo le code pour qui sera intéressé.
Bonne soirée.
labobinette
Messages postés12Date d'inscriptionmercredi 7 septembre 2005StatutMembreDernière intervention14 septembre 2005 13 sept. 2005 à 20:52
ok merci c'est sympa de m'aider et de m'encourager. Je pourrais faire tout ça avec les outils de dessins, interpolations, etc... Mais j'ai commencé à mettre le nez dans action script...
Sinon j'ai essayé de placer le code de goldenboy sur un clip avec un onClipEvent(load), et là ça ne fonctionne plus du tout (pourtant je n'ai pas oublié de modifier les ciblages en conséquence). J'ai essayé aussi ce code direct sur la première image d'un clip dont l'occurence est placé sur la meme frame que les boutons (là encore g bien vérifié les ciblages) et ça ne fonctionne pas davantage.
En conservant le script sur le bouton mon truc fonctionne comme je le souhaite (à peu près) si je rajoute un G1bis (valeurs inverses de g1) et le if(G1bis) qui va avec. Mais bon, là ça commence à être sacrément alambiqué tout ça... Il doit certainement y avoir plus simple! Ca suppose de faire la meme chose pour tous les "G" puis ensuite pour chacun des 5 boutons!!! Et en plus, c'est pas terrible, ça saccade un peu.
En tout cas je vais chercher ce fameux bouquin de C. Moock... Pour les débutants c'est compréhensible?
labobinette
Messages postés12Date d'inscriptionmercredi 7 septembre 2005StatutMembreDernière intervention14 septembre 2005 14 sept. 2005 à 00:03
Bon, ça marche cette fois pour de bon!
Il y avait juste une erreur dans les valeurs de x1 et x2 de G2 et une erreur dans les valeurs de barycentres de G2. J'ai intégré au code les delete this.onEnterFrame.
J'ai compris qu'il ne fallait pas utiliser des EnterFrame sur des boutons mais ce que je n'ai pas compris c'est pourquoi? D'autant plus que mon code ne fonctionne QUE sur le bouton. Du coup, pour l'instant je l'ai laissé sur le bouton... Mais si ça n'est pas convenable... quelqu'un peut-il me dire comment le mettre ailleurs et pourquoi il faut absolument le mettre ailleurs ?
Merci de votre aide!
Ci-dessous, le code corrigé (mais toujours avec onRelease...