Suivez-nous sur X

|
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
ALL
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
Programmation : C - exemple de BOB
(Article écrit par Batchman et extrait d'A-News (Amiga News) - août 1989)
|
|
Ce mois-ci, un peu d'animations : le programme est consacré aux BOB. Bien sûr, ce n'est qu'un petit exemple mais les BOB
sont un sujet si vaste qu'on ne peut pas tout décrire sans qu'A-News ne ressemble au catalogue La Redoute. Ce petit
programme pourra toutefois vous donner une idée de ce qu'il est possible de réaliser.
BOB
Mais avant tout, qu'est-ce qu'un BOB ? C'est un des Gels (Graphic ELements) qui permettent la réalisation d'animations.
Un BOB est une image de taille quelconque, que vous pouvez dessiner où vous voulez. L'intérêt tout particulier des BOB
est qu'avant de le dessiner, l'image qu'il écrase est sauvegardée dans un tampon mémoire. Si vous le dessinez à un
autre endroit, l'image est restituée, et cela sans que vous n'ayez à le gérer.
C'est donc parfait pour réaliser des animations sur un fond dessiné, sans avoir à constamment le rafraîchir. Évidemment,
ça prend du temps mais n'en déduisez pas hâtivement que ça rame, le Blitter rode dans le coin.
Le listing
Quelques détails sur ce programme
Vous avez remarqué que l'on utilise des VSprites. Eh bien non, les Virtual Sprites sont d'autres sortes de Gels
qui servent ici de support aux BOB, mais que nous n'utilisons pas (cette fois-ci) en temps que tels.
Le mode d'emploi : une fois le programme lancé, un BOB apparaît, se déplace et revient pour vous montrer que le dessin
n'est pas détruit. En fait, il est restauré. Pour sortir, cliquez sur l'icône de fermeture de la fenêtre.
Vous noterez que les initialisations ne sont pas très simples, il faut faire pas mal de choses avant de pouvoir dessiner.
D'autre part, tous les Gels (et donc les BOB) doivent être dans une liste chainée encadrée par deux VSprites vides ;
c'est très important sinon vous aurez des animations du style "cadre rouge clignotant sur fond noir". Enfin, il est important
aussi de trier la liste (surtout si vous avez plus d'un BOB...) avant de l'afficher, ce tri se fait par SortGList.
Les variables doivent être en mémoire Chip, sinon vous ne verrez rien. Une fois de plus, c'est compilé sous Lattice et ça marche.
Ceci se fait en invoquant l'éditeur de liens comme suit :
blink ...... lib ...:lib/lc.lib, ...:lib/amiga.lib CHIP
|
Sur ce, bobbez bien.
|