Documentation PANORAMIC

Conseils


1 – Généralités

1.1 – Quelle est la structure d’un programme ?

2 – Monde 3D

2.1 – Comment créer un monde 3D ?
2.2 – Comment avoir un monde 3D prenant tout l’espace disponible ?
2.3 – Comment avoir deux mondes 3D avec des objets 3D ?
2.4 – Comment colorer le fond d’un monde 3D ?
2.5 – Comment utiliser des rotations 3D ?
2.6 – Comment déplacer un objet 3D ?
2.7 – Comment utiliser un objet 3D créé dans le format 3DS (Studio 3D Max) ?
2.8 – Comment utiliser un objet 3D créé dans le format de MD2 (Quake) ?

3 – Objets

3.1 – Comment colorer le fond d’un FORM ?
3.2 – Il est conseillé de faire une pause après la coloration d’un FORM
3.3 – Comment colorer le fond d’une image ?
3.4 – Comment créer un MENU ?
3.5 – Comment utiliser LEFT, TOP, WIDTH, HEIGHT ?
3.6 – Comment mettre un BUTTON (ou un autre objet) sur un autre FORM que FORM numéro 0 ?
3.7 – Comment placer un MENU sur un autre FORM que FORM numéro 0 ?
3.8 – Comment utiliser un OPEN_DIALOG pour choisir un fichier ?
3.9 – Comment utiliser un SAVE_DIALOG pour sauvegarder un MEMO dans un fichier ?
3.10 – Comment charger une image avec un fichier, dont le nom absolu est dans a$ ?
3.11 – Comment charger une image avec un un fichier choisi avec un OPEN_DIALOG ?
3.12 – Comment charger un MEMO avec un fichier choisi avec un OPEN_DIALOG ?
3.13 – CAPTION est possible seulement avec BUTTON, OPTION, CHECK, ALPHA ou FORM
3.14 – TEXT est possible seulement avec EDIT ou COMBO
3.15 – Comment utiliser les barres ?

4 – Multimédia : sons, musiques, films

4.1 – Comment charger et jouer un fichier de musique de MIDI ?
4.2 – Comment charger et jouer un fichier son WAV ?
4.3 – Comment charger et jouer un fichier de musique MP3 ?
4.4 – Comment charger et jouer un film avec un fichier, dont le nom absolu est dans a$

5 – Divers

5.1 – Comment utiliser INKEY$ ?
5.2 – Comment utiliser les sous-programmes ?
5.3 – Comment utiliser les événements ?


1 – Généralités


1.1 – Quelle est la structure d’un programme ?

La structure conseillée d’un programme est la suivante :

1) Déclaration : DIM et LABEL
2) Programme principal : définition des composants (objets), calculs, comportement, END
3) Traitement d’événements


Exemple : création d’un bouton qui affiche « Cliquez sur moi », puis « Salut ! » quand on a cliqué sur lui :

rem — déclaration des variables utilisées —
DIM A$

rem — déclaration des étiquettes utilisées —
LABEL clk

rem ******** PROGRAMME PRINCIPAL ********
A$ = « Cliquez sur moi« 

rem — création d’un OBJET —
BUTTON 1
rem lui donner un petit texte (son « intitulé »)
CAPTION 1,a$

rem définir le traitement quand il est cliqué
ON_CLICK 1,clk

rem ******** FIN DU PROGRAMME PRINCIPAL ********
END

rem — TRAITEMENT DES ÉVÉNEMENTS—
Clk:
  CAPTION 1, »Salut !« 
RETURN

Haut de page


2 – Monde 3D



2.1 – Comment créer un monde 3D ?

1) Tout d’abord, crééez un objet pour visualiser votre monde 3D avec le mot-clé SCENE3D et lui donner un numéro :

SCENE3D 1

Une caméra 3D et une lumière 3D sont alors automatiquement créés avec votre SCENE3D et maintenant vous pouvez les utiliser (pour les positionner et viser un point avec la caméra).


2) Placer des objets dans votre monde 3D.

Vous pouvez créer des objets 3D prédéterminés :

3D_BOX
3D_CUBE
3D_CONE
3D_TORUS
3D_SPHERE
3D_CYLINDER
3D_TEXT
3D_TEAPOT
3D_DODECAHEDRON

Ou des objets 3D formatés :

3D_MESH (en "3DS", format de Studio 3D Max)
3D_ACTOR (en "MD2", format de Quake)

Avec le mot-clé correspondant, vous lui donnez un numéro 3D :

3D_TEAPOT 1

3) Vous pouvez alors les déplacer, les dimensionner, les faire tourner, les colorer, leur donner une texture…

Haut de page

2.2 – Comment avoir un monde 3D emplissant tout l’espace disponible ?

Créer un monde 3D :

SCENE_3D 1

Lui donner tout l’espace disponible dans FORM numéro 0 :

FULL_SPACE 1

Remarque : pour donner tout l’espace de l’écran à FORM numéro 0 :

FULL_SPACE 0

En combinant les 2 commandes, vous avez un monde 3D prenant tout l’écran :

FULL_SPACE 0 : rem FORM 0 prend tout l’espace sur l’écran
SCENE3D 1
FULL_SPACE 1 : rem SCENE3D prend tout l’espace sur FORM 0

Haut de page


2.3 – Comment avoir deux mondes 3D avec des objets 3D ?

Utilisez 3D_TARGET_IS pour désigner le récepteur d’objet 3D

SCENE3D 1 : rem créer le premier monde 3D
SCENE3D 2 : rem créer le deuxième monde 3D
LEFT 2,210 : rem le positionner (autrement il recouvre le premier)
3D_TEAPOT 1 : rem créer le premier objet 3D dans le premier monde 3D
3D_TARGET_IS 2 : rem assigner le deuxième monde 3D comme le récepteur de commandes 3D
3D_TEAPOT 2 : rem créer le deuxième objet 3D dans le deuxième monde 3D

Haut de page


2.4 – Comment colorer le fond d’un monde 3D ?

Utilisez le numéro N du SCENE3D (le monde 3D a été créé par la commande SCENE3D N) dans la commande COLOR :

COLOR N, Rouge, Vert, Bleu

Haut de page


2.5 – Comment utiliser des rotations 3D ?

3D_X_ROTATE, 3D_Y_ROTATE, 3D_Z_ROTATE sont relatifs aux axes propres de l’objet.

Les axes propres de l’objet 3D sont les axes qui étaient parallèles aux axes du monde quand l’objet 3D a été créé.

Les angles de rotation sont exprimés par rapport à la position d’origine :

3D_X_ROTATE N,30 : rem positionne l’objet 3D N à 30° par rapport à sa position d’origine

Haut de page


2.6 – Comment déplacer un objet 3D ?

Tous les objets 3D sont créés à la position (0,0,0).

Pour déplacer un objet 3D, utilisez les commandes : 3D_X_POSITION, 3D_Y_POSITION, 3D_Z_POSITION.

Exemple :

3D_SPHERE 1 : rem la sphère n°1 avec rayon=2 est créée en (0,0,0)

rem la déplacer en (5,6,7)
3D_X_POSITION 1,5
3D_Y_POSITION 1,6
3D_Z_POSITION 1,7

Haut de page


2.7 – Comment utiliser un objet 3D créé dans le format 3DS (3D Studio Max) ?

rem créez un scene3D (monde 3D)
SCENE3D 1 : rem 1 est le numéro d’objet

rem créez un objet « maillé »
3D_MESH 1 : rem 1 est le numéro d’objet 3D

rem chargez votre fichier dans l’objet 3D numéro 1
3D_LOAD_OBJECT 1, »MonObjet.3ds« 

Haut de page


2.8 – Comment utiliser un objet 3D créé dans le format MD2 (Quake) ?

rem créez un scene3D (monde 3D)
SCENE3D 1 : rem 1 est le numéro d’objet

rem créez un objet « acteur »
3D_ACTOR 1 : rem 1 est le numéro d’objet 3D

rem chargez votre fichier dans l’objet 3D numéro 1
3D_LOAD_OBJECT 1, »MonObjet.md2« 

Haut de page


3 – Objets



3.1 – Comment colorer le fond d’un FORM ?

Utilisez le numéro N du FORM dans la commande COLOR (0 pour le FORM de base, ou N pour un FORM créé par la commande FORM N) :

COLOR N, Rouge, Vert, Bleu

Haut de page


3.2 – il est conseillé de faire une pause après la coloration d’un FORM :

rem mettre le fond en couleur blanche
COLOR 0,255,255,255 : DISPLAY

Haut de page


3.3 – Comment colorer le fond d’une image ?

Une image a été créée par la commande picture N . Utilisez le numéro N dans la commande COLOR :

COLOR N, Rouge, Vert, Bleu

Haut de page


3.4 – Comment créer un MENU ?

Voir l’exemple suivant :

rem créer l’objet « menu principal »
MAIN_MENU 1

rem créer 2 « sous menus » au même niveau (fils de l’objet numéro 1)
SUB_MENU 2 : CAPTION 2, »Fichier » : PARENT 2,1
SUB_MENU 3 : CAPTION 3, »Edition » : PARENT 3,1

rem créer 3 « sous-menus » fils de l’objet numéro 2
SUB_MENU 4 : CAPTION 4, »Ouvrir » : PARENT 4,2
SUB_MENU 5 : CAPTION 5, »Sauvegarder » : PARENT 5,2
SUB_MENU 6 : CAPTION 6, »Quitter » : PARENT 6,2

rem créer 3 « sous-menus » fils de l’objet numéro 3
SUB_MENU 7 : CAPTION 7, »Copier » : parent 7,3
SUB_MENU 8 : CAPTION 8, »Coller » : parent 8,3
SUB_MENU 9 : CAPTION 9, »Défaire » : parent 9, 3

Haut de page


3.5 – Comment utiliser LEFT, TOP, WIDTH, HEIGHT ?

LEFT et TOP sont utilisés pour positionner un objet sur son père (son conteneur).

WIDTH et HEIGHT sont utilisés pour dimensionner un objet.


3.6 – Comment placer un BUTTON (ou un autre objet) sur un autre FORM que FORM numéro 0 ?

Première possibilité :

FORM 3 : rem créer un autre FORM (numéro 3)
BUTTON 1 : rem créer un BUTTON (numéro 1)
PARENT 1,3 : rem le BUTTON va sur son père (le container) : FORM numéro 3

Deuxième possibilité :

FORM 3 : rem créer un autre FORM (numéro 3)
COMMAND_TARGET_IS 3 : rem toutes les commandes vont sur l’objet numéro 3
BUTTON 1 : rem créer un BUTTON : il va sur sur FORM numéro 3

Haut de page


3.7 – Comment placer un MENU sur un autre FORM que FORM numéro 0 ?

FORM 3 : rem créer un autre FORM (numéro 3)
COMMAND_TARGET_IS 3 : rem toutes les commandes vont sur l’objet numéro 3
MAIN_MENU 1 : rem créer un menu sur FORM numéro 3
CAPTION 1, »Menu » : rem lui donner un caption le rend visible

Haut de page


3.8 – Comment utiliser un OPEN_DIALOG pour choisir un fichier ?

Un OPEN_DIALOG est créé par la commande OPEN_DIALOG N et est utilisé par la commande FILE_NAME$(N), N étant le numéro de l’OPEN_DIALOG.

Comme FILE_NAME$ retourne soit le nom du fichier choisi par l’utilisateur, soit le caractère souligné « _ » si aucun fichier n’est choisi, la valeur rendue doit être stockée dans une variable string puis comparée à « _ ».

DIM a$ : rem déclarer une variable string

OPEN_DIALOG 1 : rem créer un OPEN_DIALOG
a$ = FILE_NAME$(1) : rem choisir un nom de fichier avec l’OPEN_DIALOG numéro 1
IF a$ <> « _ » THEN – – – : rem si a$ contient un nom de fichier, alors – – –

Haut de page


3.9 – Comment sauvegarder un MEMO dans un fichier avec SAVE_DIALOG ?

Un save_dialog est créé par la commande save_dialog N et est utilisé par la commande file_name$(N), N étant le numéro du save_dialog.

SAVE_DIALOG 1 : rem créer un save_dialog
MEMO 2 : rem créer un MEMO

rem pour sauvegarder le contenu du memo avec le SAVE_DIALOG
FILE_SAVE 2,FILE_NAME$(1)

Haut de page


3.10 – Comment charger une image avec un fichier dont le nom absolu est dans a$ ?

DIM a$ : rem déclarer une variable string

PICTURE 1 : rem créer une image

a$ = « c:\MyPicture.bmp » : rem définir le nom du fichier
FILE_LOAD 1,a$ : rem Le fichier est chargé dans le PICTURE

Haut de page


3.11 – Comment charger une image avec un fichier choisi par un OPEN_DIALOG ?

DIM a$ : rem déclarer une variable string

PICTURE 1 : rem créer une image
OPEN_DIALOG 2 : rem créer un OPEN_DIALOG
a$ = FILE_NAME$ »(2) : rem activer l’open_dialog numéro 2
IF a$ <> « _ » THEN FILE_LOAD 1,a$ : rem si un fichier est choisi, le charger dans l’image

Rappel : la fonction FILE_NAME$ retourne le caractère souligné « _ » si aucun fichier n’a été choisi par l’utilisateur.

C’est pourquoi il faut comparer la valeur de a$ avec « _ » :

IF a$ <> « _ » THEN

Haut de page


3.12 – Comment charger un MEMO avec un fichier choisi par un OPEN_DIALOG ?

DIM a$ : rem déclarer une variable string

MEMO 1 : rem créer un MEMO
OPEN_DIALOG 2 : rem créer un OPEN_DIALOG
a$ = FILE_NAME$ »(2) : rem activer l’open_dialog numéro 2
IF a$ <> « _ » THENFILE_LOAD 1,a$ : rem si un fichier est choisi, le charger dans le MEMO

Rappel : la fonction FILE_NAME$ retourne le caractère souligné « _ » si aucun fichier n’a été choisi par l’utilisateur.

C’est pourquoi il faut comparer la valeur de a$ avec « _ » :

IF a$ <> « _ » THEN

Haut de page


3.13 – CAPTION est possible seulement avec BUTTON, OPTION, CHECK, ALPHA ou FORM

CAPTION N, »Salut ! » : rem N doit être un numéro de BUTTON, OPTION, CHECK, ALPHA ou FORM

Cette commande sur un autre type d’objet produit une erreur.

Haut de page


3.14 – TEXT est possible seulement avec EDIT ou COMBO

TEXT N, »Salut ! » : rem N doit être un numéro d’un EDIT ou d’un COMBO

Cette commande sur un autre type d’objet produit une erreur.

Haut de page


3.15 – Comment utiliser les barres ?

Il y a 3 sortes de barres : TRACK_BAR, SCROLL_BAR et PROGRESS_BAR.

Pour lire la position du curseur :

A = POSITION(N) : rem N est le numéro de l’objet barre.

Pour changer la position de curseur :

POSITION N, P : rem P est la position à prendre par le curseur de la barre numéro N.


Quand vous créez des barres, elles ont des valeurs standards pour le minimum et le maximum.

Pour changer la valeur minimale :

MIN N, M : rem M est la valeur minimale, N est le numéro de l’objet barre.

Pour changer la valeur maximale :

MAX N, M : rem M est la valeur maximale, N est le numéro de l’objet barre.

Haut de page


4 – Multimédia : sons, musiques, films



4.1 – Comment charger et jouer un fichier de musique MIDI ?

SOUND 1 : rem créer un son
FILE_LOAD 1, »file.mid » : rem charger un fichier
PLAY 1 : rem le jouer

Haut de page


4.2 – Comment charger et jouer un fichier son WAV ?

SOUND 1 : rem créer un son
FILE_LOAD 1, »file.wav » : rem charger un fichier
PLAY 1 : rem le jouer

Haut de page


4.3 – Comment charger et jouer un fichier de musique MP3 ?

SOUND 1 : rem créer un son
FILE_LOAD 1, »file.mp3″ : rem charger un fichier
PLAY 1 : rem le jouer

Haut de page


4.4 – Comment charger et jouer un film avec un fichier dont le nom absolu est dans a$ ?

DIM a$ : rem déclarer une variable string

a$ = « c:\MonFilm.avi » : rem définir le nom du fichier
MOVIE 1 : rem créer un film
FILE_LOAD 1, a$ : rem charger le fichier
PLAY 1 : rem le jouer

Haut de page


5 – Divers



5.1 – Comment utiliser INKEY$ ?

Voir l’exempe suivant :

DIM a$
LABEL loop

loop:
a$ = INKEY$
IF a$ = «  » THEN GOTO loop

rem ici, a$ contient la touche qui a été enfoncée

Haut de page


5.2 – Comment utiliser les sous-programmes ?

Un sous-programme est un groupe de commandes qui peut être traités un certain nombre de fois.

Un sous-programme commence par un LABEL (que l’on doit déclarer par le mot clé LABEL) et finit par RETURN.

Quand RETURN est exécuté, l’exécution de programme retourne à la commande immédiatement après la commande GOSUB.

Haut de page


5.3 – Comment utiliser les événements ?

Quand un événement (clic, changement) arrive sur un objet, vous définissez dans un sous-programme les commandes à traiter pour répondre à l’événement.

Un sous-programme commence par un LABEL et se termine par RETURN.

Attention : Certains événements ne sont pas possibles avec certains objets !

Haut de page



Contenu créé par Jack. Mise à jour le 03 mars 2025