IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

setInterval appelant une fct� appelant elle m�me un autre setInterval


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    D�cembre 2011
    Messages
    32
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2011
    Messages : 32
    Par d�faut setInterval appelant une fct� appelant elle m�me un autre setInterval
    Salut tout le monde ,

    voil� mon petit pb.

    lorsque dans une fonction on a 2 setInterval imbriqu� l'un dans l'autre, les temps se multiplient c'est �a?
    J'ai un personnage qui se d�place en fonction des touches fl�ch�es du clavier, ce personnage est appel� par un setInterval avec un temps de 200 ms.
    Mon personnage tente de traverser la rivi�re, pour �a, il marche sur des rondins de bois qui se trouvent sur la rivi�re (ces m�mes rondins de bois se d�placent de 3px toutes les 1000/30 ms).

    Je veux cr�er une fonction qui quand mon personnage se retrouve sur un rondin de bois, lui permet de se d�placer � la m�me vitesse que ces rondins de bois, et de ce fait que l'on ait l'impression qu'il est immobile sur le rondins de bois??

    J'ai pens� � cr�er une fonction qui lorsque les conditions sont respect�es, va faire avancer mon personnage de 3px et ceci avec un setInterval et un temps x = 1000/30 * 200.

    Vu que les temps se multiplient???

    Mais �a ne marche pas


    Je ne sais pas si j'ai �t� clair, j�esp�re que si.



    Merci pour vos pr�cieuses r�ponses!

  2. #2
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    D�cembre 2011
    Messages
    32
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2011
    Messages : 32
    Par d�faut
    Merci pour ta r�ponse!

    Je ne connais pas encore jquery, et en plus tout mon jeu est d�j� mis en place, j'ai utilis� canvas, pas de div...

    Mais je garde favoris ton exemple, �a me servira surement par la suite.


  4. #4
    R�dacteur/Mod�rateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par d�faut
    Je te d�conseille d'utiliser setInterval pour ce que tu souhaites faire.

    Utilise plut�t requestAnimationFrame, qui fait en sorte de forcer le navigateur � afficher du mieux qu'il peut une animation � 60 fps ; ensuite pour tes d�placements d'objets tu peux g�rer des valeurs num�riques de vitesse propres � chaque objet. Si ton personnage est sur un rondin qui bouge, tu n'auras qu'� faire vitessePersonnage += vitesseRondin;

  5. #5
    Membre actif

    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Septembre 2012
    Messages
    30
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Septembre 2012
    Messages : 30
    Par d�faut
    salut,
    Pour ma part le setInterval me semble un peu d�precier
    il vaut mieux sont �quivalant interop�rable
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    var _timer=setTimeout(function(){mafonction();},1000);
    function mafonction(){
    //netoyer la memoire
    clearTimeout(_timer)
    //si l'animation n'est pas terminer avancer
    if(!anim){
    //ici l'animation
    _timer=setTimeout(function(){mafonction();},1000)
    }
    }
    C'est tr�s important d'utiliser un clearTimeout avant de chercher � savoir si l'on sort de l'animation ou non car en cas d'erreur tu risque de boucler � l'infinie et de constater plus de 3M de fois la m�me erreur.

    Bonne Chance

  6. #6
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Pour ma part le setInterval me semble un peu d�precier
    il vaut mieux sont �quivalant interop�rable
    Qu'est-ce que tu entends par l� ?

    Ni setTimeout() ni setInterval() n'est d�pr�ci� et les deux sont aussi compatibles l'un que l'autre... A moins bien s�r que ton navigateur favori ne soit IE4, mais dans ce cas, le probl�me ne vient pas du code !
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

Discussions similaires

  1. Probleme jointure d'une table sur elle m�me
    Par fred64 dans le forum Langage SQL
    R�ponses: 4
    Dernier message: 18/05/2006, 15h01
  2. [SQL2K] delete cascade d'une table sur elle m�me
    Par StormimOn dans le forum MS SQL Server
    R�ponses: 4
    Dernier message: 25/04/2006, 16h28
  3. une applet appel une autre applet !!!!
    Par mehdi82 dans le forum Applets
    R�ponses: 2
    Dernier message: 22/12/2005, 09h53
  4. Croisement d'une table avec elle m�me
    Par lelapin dans le forum Langage SQL
    R�ponses: 2
    Dernier message: 28/09/2005, 07h44
  5. [arborescence] jointure d'une table avec elle m�me ?
    Par Celelibi dans le forum Requ�tes
    R�ponses: 2
    Dernier message: 16/11/2004, 18h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo