⇨ MENU ⇨ BIBLIOTHEQUE ⇨ box2dlib.bbc
PROC_b2Push()
⇨ MENU ⇨ BIBLIOTHEQUE ⇨ box2dlib.bbc
PROC_b2Push()
DESCRIPTION.
La procédure PROC_b2Push() applique une force linéaire sur un point donné d'un corps dans un monde physique Box2d..
SYNTAXE.
PROC_b2Push( corps , horizontal , vertical , abscisse , ordonnee )
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.
horizontal doit être une valeur numérique, indiquant la nouvelle vitesse linéaire, ou vélocité, horizontale m/s : si horizontal est :
- positif, le corps se déplace vers la droite, dès sa création ;
- négatif, le corps se déplace vers la gauche, dès sa création ;
- nul, le corps n'a pas de mouvement horizontal.
vertical doit être une valeur numérique, indiquant la nouvelle vitesse linéaire, ou vélocité, vertical rad/s : si vertical est :
- positif, le corps se déplace vers le haut, dès sa création ;
- négatif, le corps se déplace vers le bas, dès sa création ;
- nul, le corps n'a pas de mouvement vertical.
abscisse doit être une valeur numérique, indiquant la nouvelle abscisse du centre du corps.
ordonnee doit être une valeur numérique, indiquant la nouvelle ordonnée du centre du corps.
La procédure PROC_b2Push() pousse un corps selon une force équivalente au vecteur ( horizontal , vertical ) appliquée en un point ( abscisse , ordonnee ) , normalement il doit être différent du centre du corps, exprimé dans le repère du monde physique Box2d. Si la force n'est pas appliquée au centre centre du corps, cela crée un couple, donnant une rotation.
La procédure PROC_b2Push() sera utilisée pour : simuler un coup, un moteur, une poussée, ou pour propulser des corps.
Note : La procédure PROC_b2Push() applique une force, exerce un effort continu, affecte la vitesse progressivement, simule un effet doux, et utilisée continuellement dans une boucle par exemple alors que la procédure PROC_b2Poke() applique une impulsion, change instantanément la vélocité, affecte la vitesse immédiatement, simule un effet violent, à une utilisation ponctuelle
Note : dans un mode Box2D : une force = masse × accélération alors qu'une impulsion = masse × changement de vitesse. Donc une impulsion modifie directement la vitesse, sans passer par une accélération.
Rappel : la procédure PROC_b2Init devra toujours être appelée avant tout autre fonction ou procédure de box2dlib.bbc.
La procédure PROC_b2Push() 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'un projectile ---
kprojectile = FN_b2DynamicBody( kmonde , 10 , 5 , .64 , 15 , -.5 , -.25 , .02 , 0 )
REM --- Application d'une poussée ---
PROC_b2GetBody( kprojectile , kabscisse , kordonnee , kangle )
PRINT kabscisse , kordonnee , kangle
PROC_b2Push( kprojectile , 50 , 20 , 0 , 10 )
PROC_b2GetBody( kprojectile , kabscisse , kordonnee , kangle )
PRINT kabscisse , kordonnee , kangle
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.