Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1811 connectés 

  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  tween onMotionFinished

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

tween onMotionFinished

n°1362424
beer
Posté le 09-05-2006 à 14:49:21  profilanswer
 

bien le bonjour messieurs dames!!
 
alors voila mon code:
 

Code :
  1. import mx.transitions.Tween;
  2. import mx.transitions.easing.*;
  3. var maTween:Tween;
  4. bouger = function()
  5. {
  6. maTween = new Tween(_root.template1,"_width",Bounce.easeOut,_root.template1._width,0,3,true);
  7. }
  8. maTween.onMotionFinished = function()
  9. {
  10. trace("ouin ouin" );
  11. }


 
mais voila a la fin des 3 second et donc de l'animation rien ne s'affiche pas de "ouin ouin"
 
merci de me repondre!!

mood
Publicité
Posté le 09-05-2006 à 14:49:21  profilanswer
 

n°1362730
romdr
Posté le 09-05-2006 à 19:31:29  profilanswer
 

onMotionStopped

n°1961691
ScrollLoop
Posté le 30-01-2010 à 17:04:36  profilanswer
 

Bonjour,
 
Je suis face au même soucis, c'est-dire que l'event "onMotionFinished" n'est pas reconnu par actionscript (il ne s'indique pas en bleu) et onMotionStopped ne me réussit pas mieux... Impossible de trouver la solution...
 
Mon code :
 

Code :
  1. var xSlide1Con:Tween;
  2. var xSlide2Con:Tween;
  3. ConSlide = function(s,t) {
  4. setTimeout(function() {
  5. var xSlide1Con = new Tween(s, "_x", Regular.easeOut, 25, -875, 8, true);
  6. var xSlide2Con = new Tween(t, "_x", Regular.easeOut, 925, 25, 8, true);
  7.       }, 15000);
  8. }
  9. ConSlide(Con1,Con2);
  10. xSlide1Con.onMotionFinished = function() {
  11. trace("That sucks" );
  12. }


 
Les variables Con1 et Con2 sont bien déclarées, pas de soucis et le tweening se fait aussi très bien... Mais impossible de faire reconnaître le onMotionFinished par actionscript qui le considère comme du texte et ne le met pas en bleu comme n'importe quel autre event...
 
Aucune idée ? (j'utilise Flash CS4 mais je suis bien en actionscript 2.0)
 
D'avance merci,

n°1961835
abais
Posté le 31-01-2010 à 21:44:28  profilanswer
 

Bah c'est normale, tu déclare tes variable 2 fois !
Surtout que le fait de déclarer une variable au sein d'une fonction limite sa portée...
bref, retire les "var " dans ConSlide...


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
n°1968789
lxl ihsahn​ lxl
●⌠ Antaigris ⌡●
Posté le 24-02-2010 à 10:33:00  profilanswer
 

J'ai un petit souci d'un autre genre mais avec la classe Tween.

 

J'ai animé une occurrence pour le faire bondir simplement au passage de la souris, mais au lancement de l'animation, si le premier "bond" se passe parfaitement bien, les suivants sont totalement chaotiques...

 

Voila mon caca :

 

on(rollOver){

 

import mx.transitions.Tween;
import mx.transitions.easing.*;
var maTween2:Tween = new Tween( this, "_y", Regular.easeIn, 2.5, -2.5, 5, false );
 
maTween2.onMotionFinished = function() {
this.continueTo(2.5);
}
}
on(rollOut){
 maTween2.continueTo(2.5);
}



Message édité par lxl ihsahn lxl le 24-02-2010 à 10:35:33

---------------
[YouTube] Le Cerveau Lent : vulgarisation sciences cognitives ◦ [url=https://forum.hardware.fr/hfr/AchatsVentes/Photo-Audio-Video/vds-pentax-samyang-sujet_644991_1.htm]Vente Penta
n°1968808
abais
Posté le 24-02-2010 à 11:08:00  profilanswer
 

Lis ma réponse, tu as fais la même bourde...
Deja AS2 me rebute de plus en plus, mais l'AS1...
Enfin bref, je vais quand même te dire !
Tu as déclaré maTween2 dans ta fonction rollOver...
La chatouiller depuis l'exterieur n'est donc pas possible, même si AS2 essaye de faire des miracles...

 
Code :
  1. import mx.transitions.Tween;
  2. import mx.transitions.easing.*;
  3.  
  4. var maTween2:Tween
  5.  
  6. maTween2.onMotionFinished = function()
  7. {
  8.     this.continueTo(2.5);
  9. }
  10.  
  11. on(rollOver)
  12. {
  13.   maTween2 = new Tween( this, "_y", Regular.easeIn, 2.5, -2.5, 5, false );
  14. }
  15.  
  16. on(rollOut)
  17. {
  18. maTween2.continueTo(2.5);
  19. }

Message cité 1 fois
Message édité par abais le 24-02-2010 à 11:09:52

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
n°1968829
lxl ihsahn​ lxl
●⌠ Antaigris ⌡●
Posté le 24-02-2010 à 11:21:50  profilanswer
 

abais a écrit :

Lis ma réponse, tu as fais la même bourde...
Deja AS2 me rebute de plus en plus, mais l'AS1...
Enfin bref, je vais quand même te dire !
Tu as déclaré maTween2 dans ta fonction rollOver...
La chatouiller depuis l'exterieur n'est donc pas possible, même si AS2 essaye de faire des miracles...
 

Code :
  1. import mx.transitions.Tween;
  2. import mx.transitions.easing.*;
  3.  
  4. var maTween2:Tween
  5.  
  6. maTween2.onMotionFinished = function()
  7. {
  8.     this.continueTo(2.5);
  9. }
  10.  
  11. on(rollOver)
  12. {
  13.   maTween2 = new Tween( this, "_y", Regular.easeIn, 2.5, -2.5, 5, false );
  14. }
  15.  
  16. on(rollOut)
  17. {
  18. maTween2.continueTo(2.5);
  19. }



 
Le souci avec cette forme c'est qu'il me faut un truc genre onEnterFrame (erreur "Statement must appear within on/onClipEvent handler" ), et que là pour définir les rollOver/Out je suis sur le clip et non sur la timeline avec le script... Je crois que je vais tout repenser autrement, mais merci pour l'éclaircissement :D


---------------
[YouTube] Le Cerveau Lent : vulgarisation sciences cognitives ◦ [url=https://forum.hardware.fr/hfr/AchatsVentes/Photo-Audio-Video/vds-pentax-samyang-sujet_644991_1.htm]Vente Penta
n°1968868
abais
Posté le 24-02-2010 à 12:33:21  profilanswer
 

Habitue toi à mettre le code dans un calque vide à part, dans le conteneur(là ou ton bouton est présent en tant qu'instance)...
Nomme ton bouton (instance name), "monBouton" par exemple...

 

Ton code serait donc :

 
Code :
  1. import mx.transitions.Tween;
  2. import mx.transitions.easing.*;
  3.  
  4. var maTween2:Tween;
  5.  
  6. maTween2.onMotionFinished = function()
  7. {
  8.     maTween2.continueTo(2.5);
  9. }
  10. monBouton.onRollOver = function()
  11. {
  12.   maTween2 = new Tween( monBouton, "_y", Regular.easeIn, 2.5, -2.5, 5, false );
  13. }
  14.  
  15. monBouton.onRollOut = function()
  16. {
  17.   maTween2.continueTo(2.5);
  18. }


Ensuite attention, les positions que tu énonce dans le tween ne sont plus relative au bouton, mais à son conteneur !

Message cité 1 fois
Message édité par abais le 24-02-2010 à 12:34:31

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
n°1968889
lxl ihsahn​ lxl
●⌠ Antaigris ⌡●
Posté le 24-02-2010 à 13:39:19  profilanswer
 

abais a écrit :

Habitue toi à mettre le code dans un calque vide à part, dans le conteneur(là ou ton bouton est présent en tant qu'instance)...
Nomme ton bouton (instance name), "monBouton" par exemple...
 
Ton code serait donc :
 

Code :
  1. import mx.transitions.Tween;
  2. import mx.transitions.easing.*;
  3.  
  4. var maTween2:Tween;
  5.  
  6. maTween2.onMotionFinished = function()
  7. {
  8.     maTween2.continueTo(2.5);
  9. }
  10. monBouton.onRollOver = function()
  11. {
  12.   maTween2 = new Tween( monBouton, "_y", Regular.easeIn, 2.5, -2.5, 5, false );
  13. }
  14.  
  15. monBouton.onRollOut = function()
  16. {
  17.   maTween2.continueTo(2.5);
  18. }


Ensuite attention, les positions que tu énonce dans le tween ne sont plus relative au bouton, mais à son conteneur !


 
Ah, j'ignorais qu'on pouvait (enfin du moins comment on pouvait) définir des actions de bouton en dehors du bouton-même... j'essaye au plus de mettre le code sur des calques séparés, voire entièrement sur la racine de la scène, mais les mauvaises habitudes de débutant ont la vie dure :D
 
Merci beaucoup d'avoir pris le temps en tout cas :jap:


---------------
[YouTube] Le Cerveau Lent : vulgarisation sciences cognitives ◦ [url=https://forum.hardware.fr/hfr/AchatsVentes/Photo-Audio-Video/vds-pentax-samyang-sujet_644991_1.htm]Vente Penta
n°1968987
abais
Posté le 24-02-2010 à 17:56:32  profilanswer
 

Ah bah si tu mets tout dans la racine, c'est encore mieux en effet...
Sinon, le fait de mettre le code directement sur le bouton avec du on(){}, c'est de l'AS1...
Mais un conseil, mets toi à l'AS3, tu n'auras plus ce genre de problème (le fait que ça ne marche qu'à moitié)...
Moi c'est grâce à ça que j'apprends en tout cas...

Message cité 1 fois
Message édité par abais le 24-02-2010 à 17:57:28

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
mood
Publicité
Posté le 24-02-2010 à 17:56:32  profilanswer
 

n°1969003
lxl ihsahn​ lxl
●⌠ Antaigris ⌡●
Posté le 24-02-2010 à 18:44:12  profilanswer
 

abais a écrit :

Ah bah si tu mets tout dans la racine, c'est encore mieux en effet...
Sinon, le fait de mettre le code directement sur le bouton avec du on(){}, c'est de l'AS1...
Mais un conseil, mets toi à l'AS3, tu n'auras plus ce genre de problème (le fait que ça ne marche qu'à moitié)...
Moi c'est grâce à ça que j'apprends en tout cas...


 
Il faut que je m'y mette, surtout que j'ai pas encore des connaissances poussées en AS2.
 
Mais bon, d'un autre côté j'ai besoin d'outils que je connait en AS2 et par souci de rapidité je reste dessus, et vu qu'on ne peut pas mixer les langage dans un même projet jpeux pas évoluer en douceur :D


---------------
[YouTube] Le Cerveau Lent : vulgarisation sciences cognitives ◦ [url=https://forum.hardware.fr/hfr/AchatsVentes/Photo-Audio-Video/vds-pentax-samyang-sujet_644991_1.htm]Vente Penta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  tween onMotionFinished

 

Sujets relatifs
Tween transition IN/OUT 
Plus de sujets relatifs à : tween onMotionFinished


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR