⇨ MENU ⇨ BIBLIOTHEQUE ⇨ box2dlib.bbc
PROC_b2DestroyBody()
⇨ MENU ⇨ BIBLIOTHEQUE ⇨ box2dlib.bbc
PROC_b2DestroyBody()
DESCRIPTION.
La procédure PROC_b2DestroyBody() détruit un corps dans un monde physique Box2d.
SYNTAXE.
PROC_b2DestroyBody( monde , corps )
REMARQUES.
monde doit être l'identifiant de la variable ayant reçu la valeur retournée par l'appel de la fonction FN_b2CreateWorld() et qui indique quel le monde physique doit être supprimé.
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.
La destruction d'un corps d'un monde physique Box2d va aussi supprimer automatiquement toutes ses fixtures, libérer la mémoire interne, le retirer complètement de la simulation, permettre d’en recréer un autre au même endroit et permettre de nettoyer des objets tombés hors écran, détruits, etc.
Note : si on tente d'utiliser un corps qui n'existe pas, ou plus, l'appel de la procédure PROC_b2DestroyBody() déclenchera une erreur qui arrêtera le programme si aucun gestionnaire erreur n'est actif. Pour éviter cela, on pourra , par exemple, affecter la valeur 0, ou -1, à corps, après sa suppression et tester cette valeur avant toute utiliation d'un corps.
Rappel : la procédure PROC_b2Init devra toujours être appelée avant tout autre fonction ou procédure de box2dlib.bbc.
La fonction PROC_b2DestroyBody() 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 )
FOR ktest = 1 TO 2
PRINT ktest ; kprojectile ;
IF kprojectile <> 0 THEN PROC_b2DestroyBody( kmonde , kprojectile ) : kprojectile = 0
PRINT kprojectile
NEXT ktest
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.