Partage
  • Partager sur Facebook
  • Partager sur Twitter

Conseils pour tile mapping JS

avec canvas

Sujet résolu
    31 octobre 2010 à 9:51:59

    Bonjour.

    Je suis actuellement en train de créer un petit jeu avec la balise canvas.
    Le jeu se fait en Tile Mapping. J'ai lu rapidement le cours de SDL dessus, mais je n'ai pas trouvé une réponse à ma question.

    Je voudrais que tous les personnages bougent toutes les X microsecondes, cependant, je ne sais pas quelle est le meilleur délais pour que ça s'actualise assez vite, tout en évitant de ralentir l'ordinateur du client.
    Pour le moment, ça s'actualise toutes les 40 ms, comme pour les films (24 images/seconde). Est-ce que je peux accélérer le rafraîchissement, sans qu'un ordinateur lambda ne soit ralenti ?

    Merci d'avance.
    Au revoir.

    PS : démonstration du jeu :
    http://www.voir-entendre-posso.fr/site [...] e_niveau.html
    • Partager sur Facebook
    • Partager sur Twitter
      31 octobre 2010 à 11:34:09

      De toute façon, fait le test, met 0 ms ou 1ms, tu vera que t'on jeu ne s'actualisera pas toutes les ms. C'est plutot un maximum : si l'ordi est assez puissant, il actualise à cette vitesse, sinon un peu moins vite.
      • Partager sur Facebook
      • Partager sur Twitter
        31 octobre 2010 à 13:16:13

        Et pour ce qui est des déplacements aussi, pour éviter que les ordinateurs trop puissants accélèrent le jeu. Ce que je veux dire, c'est pour un mouvement fluide et plus ou moins rapide, il faudrait déplacer le personnage tous les combien de millisecondes.

        Désolé, je m'étais mal exprimé dans mon premier message.
        • Partager sur Facebook
        • Partager sur Twitter
          31 octobre 2010 à 13:21:59

          Salut,
          C'est vrai que ça varie beaucoup d'un ordi à l'autre. Pour obtenir un truc constant, tu peux actualiser autant de fois que possible (avec un délai de 0ms) et faire le déplacement en fonction du temps écoulé à chaque tour. En reformulant : au lieu de faire X px de déplacement par étape, tu calcule ce X à chaque fois pour l'adapter à la vitesse de l'ordi. Meilleur est le navigateur, meilleure sera la fluidité, mais la vitesse elle sera constante.

          • Partager sur Facebook
          • Partager sur Twitter
            31 octobre 2010 à 13:23:51

            D'accord, merci de la réponse, mais heu... Comment on calcule la vitesse ? Je ne connais pas de fonction qui donne la différence de millisecondes écoulées... ou du moins, le nombre de millisecondes actuel.
            • Partager sur Facebook
            • Partager sur Twitter
              31 octobre 2010 à 13:27:22

              (new Date()).getTime() te donne le timestamp actuel en milliseconde ;)

              Sympa pas le jeu, mais les flèches et CTRL sont peut-être pas le meilleur choix (les flèches hautes et basses font scroller, et la touche CTRL peut-être associée à une action (un double appui lance GoogleDesktop chez moi) )
              • Partager sur Facebook
              • Partager sur Twitter
                31 octobre 2010 à 13:30:24

                Oui, c'était juste pour donner un exemple à un ami qui travaille avec moi sur le projet, et comme j'avais quelques petits problèmes (comme quand on saute, l'action n'est pas immédiate), j'ai supprimé le "return false". Mais je vais régler ce problème lorsque je commencerai la version "évoluée" du jeu. ^^

                Merci pour ces réponses, je pense pouvoir réussir à faire mon jeu.

                Au revoir.
                • Partager sur Facebook
                • Partager sur Twitter

                Conseils pour tile mapping JS

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown