Flash Sleep Fonction

  • Rabid Dog
  • Web Master
  • Web Master
  • Avatar de l’utilisateur
  • Inscription: Mai 21, 2004
  • Messages: 3229
  • Loc: South Africa
  • Status: Offline

Message Novembre 3rd, 2004, 2:28 am

Hey all. Fait une recherche et je ne peux pas trouver ce que je cherche.

J'ai besoin d'une fonction de type de sommeil dans Flash MX. Ce que je suis en train de faire est d'animer un clip de passer à un point précis. Le point dont il a besoin de se déplacer est récupéré à partir d'un document XML.

Code: [ Select ]
function animateCard(tPos){
    startY = _root.card_mc._y * -1;
    startX = _root.card_mc._x;
    _root.output += "\nStart Y: " + startY ; // debug
    _root.output += "\nStart X: " + startX ; // debug
    for (i = 0; i < tPos; i++){
     _root.card_mc._y = i;
     
    }
}
  1. function animateCard(tPos){
  2.     startY = _root.card_mc._y * -1;
  3.     startX = _root.card_mc._x;
  4.     _root.output += "\nStart Y: " + startY ; // debug
  5.     _root.output += "\nStart X: " + startX ; // debug
  6.     for (i = 0; i < tPos; i++){
  7.      _root.card_mc._y = i;
  8.      
  9.     }
  10. }


C'est la fonction que j'utilise. Le problème est que la boucle s'exécute si vite, il arrive presque instantanément.

Des idées?
Watch me grow
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Novembre 3rd, 2004, 2:28 am

  • joebert
  • Sledgehammer
  • Genius
  • No Avatar
  • Inscription: Fév 10, 2004
  • Messages: 13455
  • Loc: Florida
  • Status: Offline

Message Novembre 3rd, 2004, 3:35 am

onEnterFrame.

Travaille sur le film FPS (frames par seconde). Si le FPS est de 20 la fonction attribuée à l'évènement onEnterFrame se déroulera (env.) 20 fois par seconde.
remplaçant la boucle,
Code: [ Select ]
_root.card_mc.tPos = tPos;
_root.card_mc.onEnterFrame = function(){
  if(this._y < this.tPos){
   this._y++;
  }else{
   delete this.onEnterFrame;
  }
}
  1. _root.card_mc.tPos = tPos;
  2. _root.card_mc.onEnterFrame = function(){
  3.   if(this._y < this.tPos){
  4.    this._y++;
  5.   }else{
  6.    delete this.onEnterFrame;
  7.   }
  8. }


onEnterFrame est comme près d'un sommeil que le flash sujets. (sauf si vous jouez avec setInterval...maux de tête ..) Boucles de terminer l'exécution avant que des changements sont effectivement apportées à l'écran.
Strong with this one, the sudo is.
  • Rabid Dog
  • Web Master
  • Web Master
  • Avatar de l’utilisateur
  • Inscription: Mai 21, 2004
  • Messages: 3229
  • Loc: South Africa
  • Status: Offline

Message Novembre 3rd, 2004, 3:40 am

Merci pour ça. Readin votre message maintenant je me suis rendu compte comment le faire. Tout n'a pas pu obtenir mon cerveau à penser qu'elle!

Merci encore pour que, vous le faire maintenant!
Watch me grow
  • Jaw
  • Graduate
  • Graduate
  • Avatar de l’utilisateur
  • Inscription: Nov 08, 2004
  • Messages: 132
  • Loc: Minneapolis, MN
  • Status: Offline

Message Novembre 8th, 2004, 7:41 pm

Im sure que vous l'avez compris, mais voici un petit coup de pouce pour quelqu'un d'autre qui en a besoin. À la vôtre.

Code: [ Select ]
//----The Deep Freeze by Jaw (jake.at.elementsmedia.net)
this.onEnterFrame = function() {
    theActiveGoods();
    deepfreeze = 1;
};
this.onMouseDown = function() {
    if (deepfreeze == 1) {
        //Mouse click stops animation
        delete this.onEnterFrame;
        deepfreeze = 0;
    } else {
        //Mouse click starts animation
        this.onEnterFrame = function() {
            theActiveGoods();
            deepfreeze = 1;
        };
    }
};
  1. //----The Deep Freeze by Jaw (jake.at.elementsmedia.net)
  2. this.onEnterFrame = function() {
  3.     theActiveGoods();
  4.     deepfreeze = 1;
  5. };
  6. this.onMouseDown = function() {
  7.     if (deepfreeze == 1) {
  8.         //Mouse click stops animation
  9.         delete this.onEnterFrame;
  10.         deepfreeze = 0;
  11.     } else {
  12.         //Mouse click starts animation
  13.         this.onEnterFrame = function() {
  14.             theActiveGoods();
  15.             deepfreeze = 1;
  16.         };
  17.     }
  18. };

Afficher de l'information

  • Total des messages de ce sujet: 4 messages
  • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 39 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC