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_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

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