⇨ MENU ⇨ BIBLIOTHEQUE ⇨ box2dlib.bbc
FN_b2CircleFixture()
⇨ MENU ⇨ BIBLIOTHEQUE ⇨ box2dlib.bbc
FN_b2CircleFixture()
DESCRIPTION.
La fonction FN_b2CircleFixture() associe et définie une fixture circulaire à un corps dans un monde physique Box2d.
SYNTAXE.
kfixeture = FN_b2CircleFixture( corps , abscisse , ordonnee , rayon , friction , rebond , densite )
REMARQUES.
corps doit être l'identifiant de la variable ayant reçu la valeur retournée par l'appel d'une fonction créant un nouveau corps statique, dynamique ou cinétique.
abscisse doit être une valeur numérique, indiquant un décalage horizontale par rapport au centre du corps.
ordonnee doit être une valeur numérique, indiquant un décalage verticale par rapport au centre du corps.
rayon doit être une valeur numérique, indiquant le rayon du cercle.
friction doit être une valeur numérique, indiquant la résistance aux glissements du corps.
rebond doit être une valeur numérique, comprise entre 0, pour pas de rebond et 1, pour un rebond total.
densite doit être une valeur numérique, indiquant densité du corps, ce qui lui donnera une masse selon masse = superficie x densite.
L'appel de la fonction FN_b2CircleFixture() retourne un identifiant de la fixture qui devra être utilisé pour l'identifer dans les procédures et fonctions du module box2dlib.bbc. Il est indispensable de mémoriser cette valeur dans une variable.
A sa création dans un monde physique Box2d, un corps n’a pas de forme, il a juste une position, une vitesse, une masse potentielle, etc. Une fixture associe une forme physique a un corps corps. Une fixture va définir pour le corps une forme, shape, une densité donnant lui une masse, une valeur pour les frictions avec ce corps, une quantité de restitution lors d'un rebond sur ce corps, et des filtres de collision.
Sans fixture, un corps est "vide", il n’interagit pas dans le monde physique. Avec fixture, il devient un objet tangible, solide, capable de collisions.
L'appel de la fonction FN_b2CircleFixture() va associer une fixture à corps en lui donnant une forme ronde, calculer sa masse et son inertie, déterminer comment il va agir, et gérer ses interactions, collisions, avec les autres corps du monde Box2d dans le quel il a été créé.
Voir la fonction FN_b2StaticBox() pour créer un corps statique.
Voir la fonction FN_b2DynamicBody() pour créer un corps dynamique.
Voir la fonction FN_b2KinematicBody() pour créer un corps cinétique.
Rappel : la procédure PROC_b2Init devra toujours être appelée avant tout autre fonction ou procédure de box2dlib.bbc.
La fonction FN_b2CircleFixture() est importée depuis le module box2dlib.bbc.
RUBRIQUES.
Les dessins et les graphismes pour plus de détails sur la création de dessins et de graphismes.
La gestion des couleurs pour plus de détails sur la gestion des couleurs logiques et physiques.
EXEMPLE.
REM --- Importation des modules ---
REM --- Module de la bibliothèque BBC BASIC ---
INSTALL @lib$ + "box2dlib.bbc"
REM --- INITIALISATION GENERALE ---
REM --- Initialisation et création du monde ---
PROC_b2Init
kmonde = FN_b2CreateWorld( 0 , -9.81 )
REM --- Creation d'une roue ---
kroue = FN_b2DynamicBody( kmonde , 10 , 5 , .64 , 15 , -.5 , -.25 , .02 , 0 )
REM --- Création d'une fixture ronde ---
REM --- avec un centre de gravité au centre du corps ---
REM --- aysant un diametre de 2,80 (2 x 1,4 ) ---
REM --- ayant une friction modérée ---
REM --- et provoquant de petit rebonds ---
REM --- le corps une une masse de 2Kg (2m x 1m x 1)
kkroueF = FN_b2CircleFixture( kroue , 0 , 0 , 1.4 , 0.3 , 0.2 , 1.0 )
REM --- Fermeture de box2dlib ---
PROC_b2Exit
REM --- Fin du programme ---
END
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de
Dans la RETROGICIEL vous trouvez des suggestions simples et classiques pour
TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER
avec un exemple de résolution à télécharger pour vous inspirer.