Search this site
Embedded Files
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
  • More
    • Accueil
    • BBC BASIC
    • BBC OS
    • BBC MODULES
    • RUBRIQUES
    • LIENS

⇨ MENU ⇨ BIBLIOTHEQUE ⇨ box2dlib.bbc

FN_b2PolygonFixture()

DESCRIPTION.


La fonction FN_b2PolygonFixture() associe et définie une fixture polygonale à un corps dans un monde physique Box2d.




SYNTAXE.


kfixeture = FN_b2PolygonFixture( corps , sommets , abscisses , ordonnees , 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.


sommets doit être un nombre entier, compris entre 3 et 8, indiquant le nombre de sommets qui composent la forme 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.



L'appel de la fonction FN_b2PolygonFixture() 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_b2PolygonFixture() va associer une fixture à 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éé.



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_b2PolygonFixture() 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( 3 ) : LST_Abscisses() = -1,5 , 1.5 , 1.5 , -1.5

DIM LST_Ordonnees( 3 ) : LST_Ordonnees() = 0.4 , 0.4 , -0.4 , -0.4


REM --- Initialisation et création du monde ---

PROC_b2Init

kmonde = FN_b2CreateWorld( 0 , -9.81 )


REM --- Creation d'un plateau ---

kplateau = FN_b2DynamicBody( kmonde , 10 , 5 , .64 , 15 , -.5 , -.25 , .02 , 0 )


REM --- Création d'une fixture en forme de losange ---

REM --- avec un centre de gravité au centre du corps ---                                                           

REM --- d'un longueur de 3m ---

REM --- et d'une hauteur de 80cm ---

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)

kplateauF = FN_b2PolygonFixture( kplateau , 4 , LST_Abscisses() , LST_Ordonnees() , 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

vos remarques, vos commentaires et de vos suggestions.

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.

Google Sites
Report abuse
Page details
Page updated
Google Sites
Report abuse