Introduction à l’API Box2D

Qu’est-ce que Box2D ?

Box2D est une bibliothèque physique 2D populaire et puissante qui est considérée comme l’une des meilleures. Cette API est utilisé par des jeux très médiatisées comme Angry Birds par exemple.

Box2D, écrit initialement en C++, a été porté sur un certain nombre de langages, dont Flash qui nous intéresse ici.

 

Concrètement…

A la base, nous avons un monde qui détient nos entités et gère les simulations physiques. Ces entités dans notre monde sont connues comme des corps, et un monde peut avoir 0, N corps. Chaque corps est composé de 0, N formes. Une forme, comme un rectangle ou d’un cercle, est utilisé pour la détection de collision. Chacune de ces formes est reliée au corps par une définition et ajoute des propriétés telles que la densité et la friction.

 

Concepts de base

Box2D travaille avec plusieurs objets fondamentaux, les voici brièvement définis ici.

corps rigide
Un objet fort tel que la distance entre les morceaux de matière sur l’objet est constante.
forme
Une pièce 2D de géométrie de collision qui est fixé à un corps. Les formes ont des propriétés de matériaux, de friction et de la restitution.
contrainte
Une contrainte est une connexion physique qui détermine les degrés de liberté des corps. En 2D un corps a 3 degrés de liberté. Si l’on prend un corps et l’épingler au mur (comme un pendule), nous avons contraint le corps à la paroi. À ce stade, le corps ne peut tourner autour de l’axe, de sorte que la contrainte a supprimé 2 degrés de liberté.
contact de contrainte
Une contrainte particulière qui vise à empêcher la pénétration de corps rigides et de simuler la friction et la restitution. Ces contraintes sont créées automatiquement par Box2D.
jointure
C’est une contrainte utilisée pour tenir deux ou plusieurs corps ensemble. Box2D prend en charge ces types de jointure : pivot, prismatique, à distance, et plus encore. Les jointures peuvent soutenir des limites et des moteurs.
limite commune
Une limite commune restreint l’amplitude des mouvements d’une articulation. Par exemple, le coude humain ne peut bouger que jusqu’à un certain d’angle.
jointure moteur
Une jointure moteur entraîne le mouvement des corps connectés à des degrés selon l’articulation définie. Par exemple, vous pouvez utiliser un moteur pour entraîner la rotation d’un coude.
monde
Un monde physique est une collection de corps, de forme, et les contraintes qui interagissent ensemble. Box2D soutient la création de mondes multiples, mais ce n’est généralement pas nécessaire ou souhaitable.

 

La suite dans un tutoriel d’initiation…

Liens utils:
http://www.box2dflash.org/

Laisser un commentaire