⇨ MENU ⇨ BIBLIOTHEQUE ⇨ box2dlib.bbc
FN_b2ChainFixture()
⇨ MENU ⇨ BIBLIOTHEQUE ⇨ box2dlib.bbc
FN_b2ChainFixture()
DESCRIPTION.
La fonction FN_b2ChainFixture() associe et définie une fixture formée d'une ligne brisée à un corps dans un monde physique Box2d.
SYNTAXE.
kfixeture = FN_b2ChainFixture( corps , sommets , abscisses , ordonnees , friction , rebond , densite , clos )
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.
sommets doit être un nombre entier indiquant le nombre de sommets qui composent la ligne brisée de la fixture.
abscisses doit être un tableau de données de sommets éléments ,ayant des valeurs numériques, indiquant les abscisses, par rapport au centre de corps, des sommets de la forme de la fixture.
ordonnees doit être un tableau de données de sommets éléments ,ayant des valeurs numériques, indiquant les ordonnées, par rapport au centre de corps, des sommets de la forme de la fixture.
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.
clos doit être :
- 1, si la ligne doit être fermée, c'est-à-dire que le dernier sommet et joint au premier par un segment de droite ;
- 0, si la ligne doit être restée ouverte, dans ce cas le premier et de dernier somment ne sont pas reliés.
L'appel de la fonction FN_b2ChainFixture() 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_b2ChainFixture() va associer une fixture, formée d'une suite de segments, à corps en lui donnant une forme polygonale, 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éé.
Important : Une fixture créée avec la fonction FN_b2ChainFixture() n'a pas de surface. juste une suite de segments, et ne poss-de aucune masse, même densite n'est pas nulle.
Ce type de fixture est le plus souvent attachée à des corps statiques pour créer des sols irréguliers, des murs polygonaux ouverts, indiquer les bords du terrain, faire des plateformes dentelées, tracer l’intérieur d’un niveau 2D de plateformes.
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_b2ChainFixture() 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 ---
DIM LST_Abscisses( 6 ) : LST_Abscisses() = -15 , -10 , -5 , 0 , 5 ,10 , 15
DIM LST_Ordonnees( 6 ) : LST_Ordonnees() = 4 , 2 , 3 , 1 , 3 , 4 , 2
REM --- Initialisation et création du monde ---
PROC_b2Init
kmonde = FN_b2CreateWorld( 0 , -9.81 )
REM --- Creation d'un projectile ---
ksol = FN_b2DynamicBody( kmonde , 0 , 0 , .64 , 15 , -.5 , -.25 , .02 , 0 )
REM --- Création d'une fixture pour le sol ---
ksolF = FN_b2ChainFixture( ksol , 7 , LST_Abscisses() , LST_Ordonnees() , 0.3 , 0.2 , 0 , 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.