LIRE UNE ANIMATION A L'ENVERS SUR UN ROLLOVER

Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 - 19 mars 2006 à 10:03
queblo Messages postés 19 Date d'inscription vendredi 1 décembre 2006 Statut Membre Dernière intervention 18 mars 2013 - 4 févr. 2010 à 10:35
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/36606-lire-une-animation-a-l-envers-sur-un-rollover

queblo Messages postés 19 Date d'inscription vendredi 1 décembre 2006 Statut Membre Dernière intervention 18 mars 2013
4 févr. 2010 à 10:35
bonjour à tous.
J'ai lu et relu l'ensemble des messages, et testé mais rien ne fonctionne pour mon cas. Je ne m'y connais pas en programmation, et le problème est le suivant : je fais bouger des bloc, qui contiennent des visuels. btn suivant go to and play frame 20 et hop c'est l'interpolation de mouvement qui est déclenchée. Hors, si je veux du coup revenir en arrière, ca ne joue pas l'interpolation à l'envers. Savez-vous comment faire ? Par avance merci. (je galère la dessus depuis plusieurs semaines)
feil Messages postés 7 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 11 février 2011
4 févr. 2009 à 17:39
Pour mon message au dessus, suffisait de faire un clearinterval pour stoper l'anim lorsqu'elle est en rewind.
fredvlvcec Messages postés 28 Date d'inscription lundi 9 février 2004 Statut Membre Dernière intervention 13 mai 2009
4 févr. 2009 à 15:40
Sorry, j'avais oublié de voter, c'est fait !
fredvlvcec Messages postés 28 Date d'inscription lundi 9 février 2004 Statut Membre Dernière intervention 13 mai 2009
4 févr. 2009 à 15:38
Un grand merci à Burnside pour son code et à Top30 pour sa version. J'avais fait un truc avec une variation alpha sur une image superposée à une autre avec un timer. Mais ça alors, ça va me simplifier drôlement le code. Alors tant pis pour les spécialistes qui rechignent mais moi je mets 10 vu l'utilité du code. Les trucs les plus simples...
cs_champloo Messages postés 1 Date d'inscription vendredi 10 mars 2006 Statut Membre Dernière intervention 7 octobre 2008
7 oct. 2008 à 16:14
Bravo, quand on est fait plus d'anim que de prog - c'est mon cas - c'est parfait et du premier coup !
Merci à toi.
feil Messages postés 7 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 11 février 2011
30 juin 2008 à 11:25
Bonjour, je vous préviens à l'avance, je ne suis vraiment pas un habitué de l'AS mais je comprend un petit peu !
Je cherche à faire défiler des images de gauche à droite en lecture et rewind. Je n'ai pas opté pour un défilement du clip sur l'axe des X car au final il va y avoir bcp trop d'images. Du coup j'ai opté pour ce code :

Rewind = function(cible) {
cible.prevFrame();
if (cible._currentframe == 1) {
clearInterval(tempo);
}
}
_root.btRewind.onRelease = function() {
tempo = setInterval(Rewind, 2, _root.monclip);
}

_root.btPlay.onPress = function () {
_root.monclip.play() ;
}

... qui est quasi similaire à celui du dessus...

Par contre lorsque l'animation se joue à l'envers, elle ne fait plus attention aux stop() !
Si vous avez une solution je vous serai très reconnaissant ! Bonne journée à vous !
Utilisateur anonyme
11 mars 2008 à 14:55
Merci beaucoup.

très utile
altermag Messages postés 9 Date d'inscription vendredi 7 septembre 2007 Statut Membre Dernière intervention 18 janvier 2008
24 oct. 2007 à 14:13
Merci beaucoup, mais vraiment beaucoup de m'avoir répondu. Puisque la marche à suivre que tu m'as donnée ne fonctionne pas, je me permet de revenir pour préciser mon problème afin que tu puisses m'aider. J'ai un clip nommé "accueil_mc" qui possède à l'image 1 une action "stop();" pour ne pas que mon clip joue dès le début. Ensuite j'ai un bouton nommé "accueil" qui a un état "Haut" avec le mot accueil d'écrit et un état "Cliqué" avec un carré englobant le mot de déssiné. Dans ma séquence, j'ai coller le code suivant sur le calque où se trouve mon bouton mais lorsque ma souris survole mon bouton, rien ne se passe. Merci de venir à mon secours!!!

stop();
accueil_mc.onRollOver = function ()
{
delete accueil_mc.onEnterFrame ;
play();
};

accueil_mc.onRollOut = function ()
{
accueil_mc.onEnterFrame = function()
{
if ( accueil_mc._currentframe> 1 ) {
accueil_mc.prevFrame() ;
} else {
delete accueil_mc.onEnterFrame ;
}
}
};
Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
24 oct. 2007 à 08:16
Bonjour,

Il te suffit alors de te servir du code de Top30 posté plus haut et au lieu de le placer sur le clip, le placé sur ton bouton.
Attention au cible, les this font se référencer au bouton. Il te faut donc penser nommer ton clip.

Blacknight
altermag Messages postés 9 Date d'inscription vendredi 7 septembre 2007 Statut Membre Dernière intervention 18 janvier 2008
24 oct. 2007 à 02:09
Bonjour messieurs. Je débute dans Flash et donc je n'comprend pas beaucoup ce que vous racontez ici. Moi je souhaite avoir le même effet que celui que vous proposez ici mais lorsque ma souris survole un bouton. En fait, je veux que lorsque la souris survole le bouton, un clip se lance et que lorsque la souris quitte le bouton, l'animation se lance dans l'autre sens. L'effet que vous proposez ici est exactement ce que je voulais mais il s'active lorsque je survole mon clip et non mon bouton. Merci beaucoup de votre aide...
zthibaut Messages postés 64 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 23 juin 2008
11 mai 2007 à 12:48
merci pour ta source c'est exactement ce que je cherchais !!!!!
Hash2o Messages postés 23 Date d'inscription vendredi 3 septembre 2004 Statut Membre Dernière intervention 26 mars 2007
11 nov. 2006 à 13:59
Ou plutot avec le code de notre ami :

# this.onEnterFrame = function ()
# {
# if (rewind)
# {
# prevFrame();
# } // end if
# };
# this.onRollOver = function ()
# {
# rewind = false;
# play();
# };
# this.onRollOut = function ()
# {
# rewind = true;
# };

On aimerait que la lecture s'arrête à une certaine frame (2, 4 ou 52 que sais-je) ?
Hash2o Messages postés 23 Date d'inscription vendredi 3 septembre 2004 Statut Membre Dernière intervention 26 mars 2007
11 nov. 2006 à 13:52
Super .. cette démo, et j'ai quand même une petite question ..

Maintenant si notre action commence a la frame 51 et quand on click dessus ça joue une animation de 10 frame => 51 a 61 et que quand on click sur un bouton .. ça ne rewind pas jusqu'a la première mais bien que jusqu'a la 51.

une réponse ?
Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
21 mars 2006 à 21:30
Evidement, d'ou l'importance de ne pas faire bêteùent un copier/coller.
Evidement si c'est a sa que les sources servent, y a plus grand intérêt a en poster.

La modification de Top30 est très bonne et permet de ne pas utiliser de charge cpu pour rien, chose importante dès que le code se complique et que les onEnterFrame s'accumule (j'en est déja fait l'expréience)

Blacknight
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
21 mars 2006 à 19:11
Tu l'as mal placé c'est tout. J'ai testé et il marche parfaitement.
Faut l'adapté àprès..ce que tu n'as surement pas fait!


bali_balo....=]
jigece Messages postés 2 Date d'inscription mardi 10 janvier 2006 Statut Membre Dernière intervention 11 juin 2007
21 mars 2006 à 18:33
Le code de Top30 est peut-être mieux... sauf que quand on le met en lieu et place de celui de Burnside, plus rien ne fonctionne, il y a même un message d'erreur lors de la publication...
Donc bravo et merci Burnside : ton code est simple et FONCTIONNE. C'est tout ce qu'on demande !
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
20 mars 2006 à 20:33
( j'ai trop la flemme maintenant sur le site d'écrire un quelonque code... )

Merci top30 xD
Là c'est mieux.


bali_balo....=]
Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
20 mars 2006 à 18:50
Très bonne corection Top30
Une fois la modif faite la source aura un peu plus d'intêt.

Blacknight
top30 Messages postés 1158 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 6 août 2010
20 mars 2006 à 17:50
stop();
this.onRollOver = function ()
{
delete this.onEnterFrame ; // SECURITE //
play();
};

this.onRollOut = function ()
{
this.onEnterFrame = function()
{
if ( this._currentframe> 1 ) {
this.prevFrame() ;
} else {
delete this.onEnterFrame ;
}
}
};

Et comme ca tu n'utilise de l'enterFrame que lors que REELEMENT tu en as besoin !
lalok Messages postés 91 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 23 février 2007
20 mars 2006 à 10:13
pour repondre a ta question bali balo ,

une source n'est pas une fin en soit... Et flash n'est pas qu'un logiciel de programmation.
Le probleme des roll over en animation "complexes" dirai je,cad à partir d'interpolation,C'est que si tu jouait le rollOut avant que le rollOver soit fini tu avait souvent une impression de "saccades" pas tres joli.

Avec cette source, je dit youpi et je dit 9/10
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
19 mars 2006 à 21:00
10/10 sur ça......eh......doucement les gars!Certes, ta source est bonne...mais bon... =]

...

.....

.......................tu as posté cette source dans "ActionScript", alors j'aurais aimé avoir que du script dans ta source.
Pourquoi passer par une interpolation, alors que tu aurais put le aire directement dynamiquement en jouant sur la propriété _xscale dans ton onEnterFrame.



bali_balo....=]
cs_Sumiko Messages postés 19 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 27 mai 2007
19 mars 2006 à 15:35
"Si sa peut en aider alors tant mieux."
oui ! moi sur un problème tout simple vu le code

Merci +10
Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
19 mars 2006 à 10:03
Mouai...
Si sa peut en aider alors tant mieux.

Petite remarque :
if (rewind) { //pas besoin du == true
prevFrame();
}

Autrement passe en 20 img/s en 12 img/s on a le sentiment que sa sacade.

Blacknight
Rejoignez-nous