Obligement - L'Amiga au maximum

Jeudi 28 mars 2024 - 20:18  

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 - Couleurs et mouvements
(Article écrit par Denis Bernard et extrait d'Amiga News - mai 1994)


Vous vous souvenez sans doute des lunettes à intensification de lumière (Cf. cet article) ? Nous allons ici réutiliser la commande Set BOB pour obtenir un autre effet encore plus rigolo. J'en profiterai au passage pour vous montrer comment simuler un mouvement avec accélération.

Si le mot bitplane vous laisse perplexe, ou encore si vous ne savez pas très bien à quoi ça sert, je vous conseille vivement de relire l'article précité, sinon vous ne saurez pas de quoi je parle dans la première partie. Toutefois, le gros du programme étant consacré au mouvement d'objets, ce n'est pas très grave si vous ne savez pas ce qu'est un bitplane : ne cherchez pas non plus dans le dictionnaire, ils sont en train d'en enlever tous les mots à tendance anglophone...

Couleurs

Afin d'utiliser au mieux la commande "Palette", vous avez appris comment on fabrique les couleurs en vidéo : à l'aide des trois couleurs primaires, le rouge, le vert et le bleu, d'où le sigle RVB (ou RGB pour la notation anglaise). Pour obtenir du jaune, on combine le rouge et le vert, pour le cyan, c'est le vert et le bleu et enfin pour le magenta, c'est le rouge et le bleu. Ça n'a pas l'air du tout logique (surtout pour ceux qui ont fait un peu de peinture à l'école) mais ça marche.

Il serait donc intéressant de voir à l'écran comment ça se passe. Entrez donc ce magnifique programme dans votre éditeur, et si vous ne voulez voir que l'effet du mixage des couleurs, vous êtes dispensé de taper toute la partie comprise entre l'instruction "Repeat" et "Until Mouse Key=2" (qui ne fait qu'animer trois spots)... Ça y est ? Vous voyez donc qu'en plus de trois nouvelles couleurs, on obtient une zone blanche au centre qui correspond à nos trois couleurs primaires combinées ensemble. Essayez aussi la combinaison Cyan-Magenta-Jaune. L'astuce réside dans l'organisation de la palette et une bonne utilisation de la commande Set BOB. Nous avons trois BOB (en forme de disque) :
  • BOB 1 : rouge, tracé uniquement dans le plan 0 (Set BOB 1,,1,)
  • BOB 2 : vert tracé uniquement dans le plan 1 (Set BOB 2,,2,)
  • BOB 3 : bleu tracé uniquement dans le plan 2 (Set BOB 3,,4,)
Il faut donc que les couleurs 1, 2 et 4 de notre palette soient respectivement rouge, verte et bleue.

Voyons maintenant les couleurs composées :
  • Couleur 3 : correspond aux plans 0 et 1 (%11=3), combinaison du rouge et du vert, donc jaune ($FF0)
  • Couleur 5 : correspond aux plans 0 et 2 (%101=5), combinaison du rouge et du bleu, donc magenta ($F0F)
  • Couleur 6 : correspond aux plans 1 et 2 (%110=6), combinaison du vert et du bleu, donc cyan ($0FF)
  • Couleur 7 : correspond aux plans 0, 1 et 2 (%111=7), combinaison des trois, donc blanc ($FFF)
Et voilà, il ne vous reste plus qu'à expérimenter d'autres combinaisons pour bien maîtriser la chose et pour nous faire de beaux effets rigolos.

Que ceux qui n'ont pas entré la totalité du programme le fassent et voyons maintenant comment gérer des mouvements complexes.

Mouvements

Le mouvement d'un objet est qualifié par son accélération (tableau A()), sa vitesse (tableau V()) et sa position (tableau P()) dans deux dimensions (X et Y) si on étudie son mouvement dans un plan (comme l'écran), ou trois dimensions (X, Y et Z) si on étudie son mouvement dans l'espace, utilisé notamment lorsqu'on fait de la 3D. Pas d'affolement, nous allons nous pencher uniquement sur le mouvement d'un objet en deux dimensions.

Le principe est très simple au niveau de la programmation : il faut d'abord choisir une unité de temps, toute trouvée avec le VBL, qui correspond au moment ou l'écran vidéo est redessiné : sans plus entrer dans les détails, sachez que ça se produit tous les 1/50e de seconde. Maintenant, à chaque nouvelle unité de temps, il faut ajouter l'accélération à la vitesse et la vitesse à la position. Enfantin, non ? Si vous ne saisissez pas le principe, prenez l'exemple d'une voiture : plus vous accélérez, plus vous allez vite et plus vous êtes loin de votre point de départ (je prie nos lecteurs les plus férus en physique d'être indulgents quant à cet exemple un peu simpliste, mais je tente ici de faire ce que l'on appelle de la vulgarisation...).

Le programme de ce mois-ci reproduit plus ou moins le mouvement de balles qui rebondissent. Vous noterez que l'accélération horizontale est nulle et que l'accélération verticale est toujours égale à 1. Effectivement, une fois qu'on a jeté la balle, elle n'a plus d'accélération horizontale, mais elle est toujours soumise à la pesanteur (qui correspond à une accélération agissant sur tout objet en chute libre).

Dans le programme, on lâche donc nos balles avec une vitesse horizontale quelconque et placées au hasard dans l'écran. Ensuite, il n'y a plus qu'à laisser faire la nature jusqu'à ce qu'elles touchent le sol. C'est là que les choses se compliquent : il faut que la balle rebondisse, et pas question d'inverser l'accélération (même si c'est en partie ce qui se passe en réalité), mais plutôt la vitesse verticale (c'est beaucoup plus simple). D'autre part, pour le côté réaliste des choses, si on se contente simplement de changer le signe de la vitesse verticale, notre balle rebondira indéfiniment, ce qui n'est jamais le cas car il y a toujours perte d'énergie. Il faut donc en même temps diminuer un peu cette vitesse (d'une unité par exemple). Enfin, en faisant la même chose pour la vitesse horizontale lorsque la balle touche les bords gauche et droit de l'écran, on obtient quelque chose d'à peu près réaliste.

Voilà, cogitez un peu sur ces quelques principes de base en matières de chromatique et de mouvements pendant que je vous prépare pour le mois prochain une application de tout ceci au déplacement d'une voiture. A'tchao !

AMOS
AMOS


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