⇨ MENU ⇨ BIBLIOTHEQUE ⇨ box2dlib.bbc
PROC_gfxInit()
⇨ MENU ⇨ BIBLIOTHEQUE ⇨ box2dlib.bbc
PROC_gfxInit()
DESCRIPTION.
La procédure PROC_gfxInit() crée et initialise le contexte graphique le monde physique Box2D / SDL.
SYNTAXE.
PROC_gfxInit( DCT_Donnees{} , largeur , hauteur , echelle )
REMARQUES.
DCT_Donnees{} identifiant de la structure de données qui sera créée et retournée par la procédure PROC_gfxInit().
largeur doit être une valeur numérique donnant la la largeur, en pixels, de la surface graphique.
hauteur doit être une valeur numérique donnant la la hauteur, en pixels, de la surface graphique.
echelle doit être une valeur numérique indiquant l'échelle graphique, en pixels par mètre, pour harmoniser les mondes physiques Box2d, qui travaille en mètres, et la zone graphique de BBC BASIC qui s'exprime en pixels. Les valeurs standards recommandées vont de 20 à 50. Par exemple si échelle vaut 30, cela indique à Box2d que 30 pixels correspondent à 1 mètre.
La procédure PROC_gfxInit() retourne une structure de données ( DCT_Donnees{} ) contenant toutes les informations nécessaires pour la taille de la zone de rendu, la position de l’origine graphique, l’échelle entre le monde physique Box2D (en mètres) et l’écran (en pixels). La structure de données g{} contient les élément nommés suivant :
Signification des champs :
- DCT_Donnees{}.W%, donne la largeur de la zone graphique en pixels ;
- DCT_Donnees{}.H%, donne la hauteur de la zone graphique en pixels ;
- DCT_Donnees{}.X%, donne le point d'origine de l'axe des abscisses du rendu en unités VDU internes ;
- DCT_Donnees{}.Y%, donne le point d'origine de l'axe des ordonnées du rendu en unités VDU internes ;
- DCT_Donnees{}.S%, Échelle pixels par mètres, fixée à 8:8 par défaut.
De plus, la procédure PROC_gfxInit() retourne prépare l’utilisation de SDL, désactive le rafraîchissement automatique de l’écran et récupère les adresses des fonctions SDL nécessaires au rendu : SDL_RenderCopyEx ; SDL_RenderSetClipRect ; éventuellement SDL_RenderCopyExF (si la plateforme le supporte),
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_gfxInit() 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 et création du monde ---
PROC_b2Init
PROC_gfxInit( DCT_Utiles{} , 640 , 480 , 30 )
WAIT( 5 )
PROC_gfxExit
PROC_b2Exit
REM --- Affiche les valeurs des éléments de la structure ---
PRINT DCT_Utiles{}.W%
PRINT DCT_Utiles{}.H%
PRINT DCT_Utiles{}.X%
PRINT DCT_Utiles{}.Y%
PRINT DCT_Utiles{}.S%
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.