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 ⇨ BBC BASIC

MOVE

DESCRIPTION.


L'instruction MOVE déplace le curseur graphique aux coordonnées absolues fournies, sans rien dessiner.

L'instruction MOVE BY déplace le curseur graphique aux coordonnées relatives fournies, sans rien dessiner.


Voir le gestionnaire ON MOVE utilisé lorsque la fenêtre de sortie est déplacée ou redimensionnée.




SYNTAXE.


MOVE abscisse , ordonnee

MOVE BY horizontal , vertical




REMARQUES.


abscisse, ordonnee, horizontal et vertical doivent être des nombres entiers compris entre −32768 et +32767.


abscisse précise l'abscisse réelle (absolue) du point de référence.


ordonnee précise l'ordonnée réelle (absolue) point de référence.


horizontal est le décalage horizontal, en pixels, de l'abscisse du curseur graphique. Si horizontal est : 

- positif, l'abscisse du curseur graphique se déplace vers la droite (augmente) ;

- 0, l'abscisse du curseur graphique ne change pas ;

- négatif, l'abscisse du curseur graphique se déplace vers la gauche (diminue).


vertical est le décalage vertical, en pixels, de l'ordonnée du curseur graphique. Si vertical est : 

- positif, l'ordonnée du curseur graphique se déplace vers le haut (augmente) ;

- 0, l'ordonnée du curseur graphique ne change pas ;

- négatif, l'ordonnée du curseur graphique se déplace vers le bas (diminue).



Pour connaitre la position du curseur graphique, en unités graphique BBC BASIC, on consultera la variable système : 

- @vdu.l.x% qui retourne sa position actuelle par rapport au bord gauche de la fenêtre de sortie ;

- @vdu.l.y% qui retourne sa position actuelle par rapport au bord haut de la fenêtre de sortie. 

- @vdu.p.x% qui retourne sa position précédente par rapport au bord gauche de la fenêtre de sortie ;

- @vdu.p.y% qui retourne sa position précédente par rapport au bord haut de la fenêtre de sortie. 


Comme les valeurs retournées par ces deux variables système sont exprimées en unités graphiques BBC BASIC, il faudra les multiplier par 2 pour obtenir le nombre de pixels réellement disponibles pour chacune de ces axes. De plus, l'ordonnée est retournée par rapport à la bordure supérieure de la fenêtre de sortie, et non de la bordure inférieure qui est la référence pour l'ordonnée des placements des tracés et des dessins.


Enfin, les valeurs de @vdu.l.x% et de @vdu.l.y% sont absolues, c'est-à-dire qu'elles ne tiennent pas compte des coordonnées du point d'origine, qui n'est pas forcément dans le coin inférieur-gauche, car le script peut le modifier avec l'instruction ORIGIN. Pour retrouver la position du curseur graphique dans le système de coordonnées de la fenêtre de sortie, il faudra soustraire les coordonnées du point d'origine aux valeurs retournées, sans oublier que ces coordonnées sont, elles, exprimées en pixels et non en unités graphiques de BBC BASIC.

 

Rappel : quand on fait appel à une variable système, il est conseillé de fait marque une légère pause au programme avec la fonction WAIT() , en général WAIT( 10 ), afin de s'assurer que les traitements en cours sont bien terminés et que les valeurs de ces variables ont bien été mise à jour.

MODE 8

REM - tester avec différents points d'origine en mettant ici ORIGINE horizontal , vertical

FOR kabscisse = 4 TO 5

FOR kordonnee = 6 TO 7

MOVE kabscisse , kordonnee

WAIT( 20 )

kabs = ( @vdu.l.x%  * 2 ) - @vdu.o.x%

kord = ( ( @size.y% - @vdu.l.y% - 1 ) * 2 ) - @vdu.o.y%

PRINT kabscisse ; ":" ; kordonnee ; " - " ; @vdu.l.x% ; ":" ; @vdu.l.y% ; " - " ; kabs  ; ":" ; kord

NEXT kordonnee

NEXT kabscisse

END

retourne :

4:6 - 2:508 - 4:6

5:6 - 2:508 - 4:6

4:7 - 2:508 - 4:6

5:7 - 2:508 - 4:6

On remarquera que les 4 pixels, retourne la même unité graphique BBC BASIC.

Rappel : Avec BBC BASIC SDL 2.0 une points graphique corresponds en réalité à deux pixels. Par exemple, en MODE 8, la fenêtre de sortie a une surface graphique de 640 x 512 points graphiques soit une surface d'image de 1280 x 1024 pixels. Comme les valeurs retournées par certaines variables système sont exprimées en points graphiques, il faudra les multiplier par 2 pour obtenir le nombre de pixels équivalents. Pour pallier à cet inconvénient, il est fortement recommandé de n'utiliser que des valeurs pairs pour désigner les coordonnées des tracés et des dessins.



Rappel : Les dessins et les tracés ne sont affichés qu'à l'intérieur de la surface graphique. Tous points à afficher ayant des coordonnées en dehors de celle-ci seront ignorés, même s'ils sont à l'intérieur de la fenêtre de sortie. Voir la rubrique dessins et graphismes pour plus de détails.



RUBRIQUES.


Les dessins et les graphismes pour plus de détails sur la création de dessins et de graphismes.




EXEMPLE.


MODE 8

kordonnee = 0

FOR kabscisse = 0 TO 1280 STEP 60

DRAW BY  0 , -20

kordonnee += 40

MOVE kabscisse , kordonnee

NEXT kabscisse

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