⇨ MENU ⇨ BIBLIOTHEQUE ⇨ box2dlib.bbc
PROC_gfxPlot2()
⇨ MENU ⇨ BIBLIOTHEQUE ⇨ box2dlib.bbc
PROC_gfxPlot2()
DESCRIPTION.
La procédure PROC_gfxPlot2() place et gère les mise à jour des représentations d'un corps d'un monde physique Box2d.
SYNTAXE.
PROC_gfxPlot2( DCT_Init{} , DCT_Image{} , abscisse , ordonne , angle )
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().
DCT_Image{} est l'identifiant de la structure de données qui sera créée et retournée par la procédure PROC_gfxLoad().
abscisse doit être une valeur numérique donnant l'abscisse, en mètres, du centre de gravité du corps.
ordonnee doit être une valeur numérique donnant l'ordonnée, en mètres, du centre de gravité du corps.
angle doit être une valeur numérique donnant la valeur de l'angle de rotation, en radian, du corps.
La procédure PROC_gfxPlot2() doit être appeler pour afficher une image, en général un sprite, correspondant à un corps dans un monde physique Box2D. C’est donc une procédure de rendu 2D “physique”, typiquement utilisée dans une boucle de jeu Box2D.
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_gfxPlot2() 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 ) : REM - créer un monde
kcorps = FN_b2DynamicBody( kmonde , 5 , 5 , 0 , 0 , 0 , 0 , 0 , 0 ) : REM - créer un corps dans le monde
kforme = FN_b2BoxFixture( kcorps , 0 , 0 , 0 , 1 , 1 , 0 , 0 , 1 ) : REM - associer une forme rectangulaire au corps
PROC_b2SetBody( kcorps , 5 , 1 , 0 ) : REM - place le corps dans le monde
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_gfxPlot2( DCT_Context{} , DCT_Corps{} , 320 , 240 , 0 )
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
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.