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

PROC_gfxDrawRopeJoint()

DESCRIPTION.


La procédure PROC_gfxDrawRopeJoint() gère les mise à jour des représentations d'un lien (joint) de type corde entre deux corps.




SYNTAXE.


PROC_gfxDrawRopeJoint( DCT_Init{} , lien , couleur , epaisseur )




REMARQUES.


DCT_Init{} est l'identifiant de la structure de données qui sera créée et retournée par la procédure PROC_gfxInit().


lien doit être la valeur retournée par la fonction FN_b2RopeJoint(), du module box2dlib.bbc, correspondante au lien.


couleur doit être un nombre entier inférieur à 128 correspondant à la couleur de la ligne représentant le lien.


epaisseur doit être un nombre entier, exprimé en pixels, correspondant à l'épaisseur de la ligne représentant le lien.



La procédure PROC_gfxDrawRopeJoint() est une fonction de rendu, visualisation, qui va dessiner une ligne droite entre les deux points d’ancrage des corps reliés par un lien de type corde, créé avec un appel de la fonction FN_b2DistanceJoint(), correspondante au lien.



Rappel : la procédure PROC_gfxInit() devra toujours être appelée avant tout autre fonction ou procédure de box2dgfx.bbc.


Voir le module box2dlib.bbc qui permet de créer des mondes Box2d et de gérer les corps et collisions dans ces mondes.



La procédure PROC_gfxDrawRopeJoint() est importée depuis le module box2dgfx.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"

INSTALL @lib$ + "box2dgfx.bbc"


REM --- INITIALISATION GENERALE ---

VDU 23 , 22 , 640  ; 480 ; 8 , 16 , 16 , 0 : REM mode graphique SDL 640x480

GCOL 0 , 2


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

PROC_b2Init

kmonde = FN_b2CreateWorld( 0 , 9.81 ) 

kmain = FN_b2DynamicBody( kmonde , 2 , 1 , 0 , 10 , -1 , 0 , .1 , 0 )

kballon = FN_b2DynamicBody( kmonde , 2 , 1 , 0 , 10 , -1 , 0 , .1 , 0 )

kcorde = FN_b2RopeJoint( kmonde , kmain , kballon , 0 , 2 , 2 , 2 , 1.8 )


REM --- Initialisation du rendu graphique ---

PROC_gfxInit( DCT_Context{} , 640 , 480 , 30 )

PROC_gfxLoad( DCT_Corps{} , "monfichier.jpg" , 30 )


REM --- Boucle d'animation du corps dans le monde ---

REM --- Initialisation des donnees de la mise à jour ---

PROC_b2WorldStep( kmonde , 0.017 , 8 , 3 ) : REM - met à jour le monde de 1/60=0,017 de seconde

PROC_b2GetBody( kcorps , kabscisse , kordonnee , kangle ) : REM - retourné la position et l'inclinaison du corps

PROC_b2GetVelocity( kcorps , khorizontal , kvertical , krotation ): REM - retourné les vitesses du corps

PROC_gfxPlotDistanceJoint( DCT_Context{} , DCT_Corps{} , kressort )

PROC_gfxDrawRopeJoint ( DCT_Context{} , kcorde , 8 , 3 )


INPUT "Appuyer sur Entrée pour arreter ... " , kpause


REM --- Fin du programme ---

PROC_gfxExit

PROC_b2Exit

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