Obligement - L'Amiga au maximum

Jeudi 05 juin 2025 - 14:45  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

Actualité (récente)
Actualité (archive)
Comparatifs
Dossiers
Entrevues
Matériel (tests)
Matériel (bidouilles)
Points de vue
En pratique
Programmation
Reportages
Quizz
Tests de jeux
Tests de logiciels
Tests de compilations
Trucs et astuces
Articles divers

Articles in English


Réseaux sociaux

Suivez-nous sur X




Liste des jeux Amiga

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


Trucs et astuces

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


Glossaire

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


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


Contact

David Brunet

Courriel

 


Programmation : AMOS - Effets de transition
(Article écrit par Denis Bernard et extrait d'Amiga News - janvier 1994)


Comme je vous l'ai montré le mois dernier, on peut vraiment réaliser de chouettes effets avec bien peu de choses, comme par exemple, un effet de transition d'une image à une autre en quelques lignes d'AMOS.

Il ne s'agit pas là d'utiliser les commandes "Appear" ou "Fade" dont les applications sont vraiment restreintes, mais une routine maison qui fait apparaître progressivement l'image sous la forme d'une mosaïque.

Quelques mots sur les transition

Pour ceux qui ne le sauraient pas, ce qu'on appelle transition est le passage d'une image affichée à l'écran à une autre image. Cela peut se passer de différentes façons, la plus courante étant d'afficher directement la seconde image.

On peut aussi passer par un "Fade" : les couleurs de l'image actuelle deviennent toutes progressivement noires (ou d'une autre couleur) puis on exécute l'opération inverse pour laisser apparaître progressivement la seconde image. Il y a ensuite les méthodes par superposition : la seconde image recouvre progressivement l'image actuelle pour finir par prendre complètement sa place à l'écran. C'est ensuite la façon dont le recouvrement se fait qui permet d'obtenir encore d'autres effets (rideau, escalier, mosaïque, volet...).

Parmi les transitions que je n'ai pas citées, il y a celles agissant directement sur le "Screen Display" de l'écran courant, en le faisant disparaître vers le haut ou vers le bas, ou sur le "Screen Display" de l'écran à afficher, en le faisant arriver par le haut ou par le bas et par-dessus l'écran courant. Après ce petit tour d'horizon, nous allons étudier de plus près le programme mettant en oeuvre une transition par superposition des deux images, celle que j'ai appelée mosaïque. Le nom n'est peut-être pas fabuleux mais il est assez représentatif de l'effet obtenu.

Le programme

Il s'agit de faire apparaître une image à l'écran par petits carrés (ici de 8x8 pixels) et à des positions aléatoires. En effet, il y aurait bien peu d'intérêt à les afficher les uns à la suite des autres ligne par ligne, bien sagement. Partons donc du fait que nous avons deux écrans (l'un affiché, l'autre caché, dans lequel on travaille) de largeur SX et de hauteur SY. Chaque carré est de côté BSIZE. Notez qu'il est préférable que SX et SY soient des multiples de BSIZE et que la transition devient très lente si vous prenez une valeur inférieure à 4 pixels.

Le calcul du nombre de carrés est assez simple : SX/BSIZE en largeur et SY/BSIZE en hauteur, ce qui nous donne un total de NBT=SX*SY/BSIZE^2.

Pour faire apparaître aléatoirement chacun de ces carrés, on utilise un tableau de NBT éléments dans lequel on va mettre aléatoirement toutes les valeurs entre 0 et NBT. En fait, c'est comme si on battait un jeu de cartes. Pour y arriver, on initialise d'abord le tableau avec toutes les valeurs de 0 à NBT (dans l'ordre), et à chaque fois qu'on mélange les cartes (procédure SHUFFLE) on échange le contenu de deux éléments du tableau pris au hasard, et on recommence NBT fois. Cette méthode n'est pas excellente statistiquement mais elle convient parfaitement pour notre application et en plus elle est très très rapide. Si vous souhaitez vous essayer sur ce genre de routine, n'oubliez pas que chaque valeur ne doit apparaître qu'une seule fois dans le tableau !

Ensuite, il ne reste plus qu'à exploiter le contenu de notre tableau (qui contient des valeurs entre 0 et NBT-1). C'est le rôle de la procédure T_TRANSIT qui pour chaque élément du tableau T(), calcule les coordonnées du carré correspondant et le copie de l'écran 1 vers l'écran 0.

J'allais oublier de vous parler de la procédure DESSIN qui dessine n'importe quoi dans l'écran 1. Vous pouvez donc la remplacer par un "Load Iff", ou tout autre façon de le remplir, adaptée au contexte dans lequel vous allez réutiliser cette routine.

Conclusion

Voilà, vous n'avez plus qu'à taper ce magnifique programme dans votre éditeur, à le lancer et à appuyer sur une touche lorsque le son de la cloche se fait entendre.

AMOS
AMOS
AMOS


[Retour en haut] / [Retour aux articles] [Article précédent] / [Article suivant]