Bonjour,
je cherche à créer un système simple permettant d'appliquer des forces sur des objet dans un jeu dans le cadre du développement d'une librairie JS. Le but étant de faire accomplir des mouvements à ces objets en fonction de ces forces.

Pour modéliser les forces sur l'objet, je passe par des vecteurs.

Mon premier essai marchait plutôt pas mal. Je calculais la résultante des forces appliquées à l'objet puis grâce à un attribut vitesse je déplaçais l'objet en fonction.

Par exemple, ma résultante est un vecteur( 2, 3) et mon objet à une vitesse de 3. L'objet se déplace de 6 sur l'axe des X et de 9 sur l'axe des Y;

Le problème c'est que cela ne prend pas en compte la norme du vecteur. Ainsi, U(2,3) et V( 4,6) auront le même résultat sur le déplacement. De plus avec ce système, Une accélération est induite par une variation de la variable vitesse même si les forces appliquées ne change pas. Hors normalement en physique si j'applique une seule force F(1,2), l'objet va accélérer tant que la force sera appliquée ou non contre-balancé.

Ce que je veux c'est déduire la vitesse de la norme de mon vecteur. Comme ça une simple application de vecteur permet de déterminer le sens, la direction et la vitesse et permet aussi d'induire une accélération en cas de déséquilibre des forces ou un mouvement linéaire en cas d'équilibre . De la physique quoi ^^.

La ou je bloque dans mon résonnement. C'est comment faire un moyen simple permettant au moment de l'ajout d'une force de spécifier le temps d'application de cette force. Exemple :

  • Vitesse initiale d'un object : force appliqué qu'une seule fois
  • Accélération : force appliqué un certain laps de temps


Je suis dépendant du refresh du navigateur via requestAnimationFrame ( Jeux HTML5 oblige). J'ai pensé indiquer le nombre de refresh pendant lequel est appliqué la force ( 60/s). Sauf que la fréquence varie. Donc pas top pour un timing.

Sinon j'ai un objet Timer qui balance le temps toute les secondes au objet ayant souscrit à se service. Seulement faire du broadcaste comme ça sur tout les objets du jeu .... Bonjour les ressources consommée. Ça passera peut être sur 10, 100, 1000 objets mais plus ,Ça passera pas.

Voila ou j'en suis. Si vous avez d'autre idée, je suis preneur.
PS : désolé pour le bloc ^^. Si vous voulez d'autre explication, demandez moi