IDE / Compilateur :
CodesBlock / Mingw32
TUTORIAL Allegro 4.2.3 / 4.4.0:
allegro 4.2.3
Documentation (on-line)
Allegro 4.2.3, version stable compilée :
Package allegro pour codeBlock
Package allegro pour Visual C++ v.10
ADDONS ALLEGRO DISPONIBLES (voir les docs associées pour utilisation) :
AllegroGl pour coupler allegro avec OpenGl
JpgAlleg pour disposer d'images jpeg dans un programme
loadpng pour dispser d'images au format png
logg pour disposer du format son logg
Liens utiles :
Site
de référence pour la librairie Allegro
Site
de la communauté Allegro pour la création
Site
codeBlock
Site
packages Dev C++ et codeBlock
Déroulé :
1 : Démarrer avec Allegro
Télécharger le source commenté du cours 1
Allegro TD-TP 1
: Base, primitives de dessin, animation directe écran
1. Démarrage
- Introduction librairie
- Base d’un projet (linkage et premier programme)
2. Entrer dans le mode graphique
- Avoir une couleur
- afficher du texte
- primitives de dessin
3. Entrer dans l’événementiel
- Contrôle de la souris
- Contrôle du clavier
2 : Couleurs, image bitmap
Télécharger le source commenté du cours 2
Allegro TD-TP 2
: couleurs, datas images, animation
1. Modes couleur
- Pixel
- CODAGE 15, 16, 24, 32 bits (mode « true colors ») et 8
bits (mode « palette ») .....................................................................................(prg1)
- Sélectionner une profondeur de couleur 8, 15, 16, 24 ou 32 bits
- Sous Allegro par défaut c’est le mode palette :
- créer une palette de couleurs ................................................................ (prg 2)
- rendre opérationnelle une palette créée ou modifiée (fonction set_palette()(prg 2)
- rotation de palette ................................................................................... (prg 3)
2. BITMAP en mémoire
- Structure de données de la Bitmap
- Créer, détruire une Bitmap...................................................................................(prg 4)
- Dessiner, placer du texte, effacer une Bitmap......................................................(prg 4)
- Afficher (copier) une Bitmap : fonction blit()..........................................................(prg 4)
- Bouger une Bitmap...............................................................................................(prg 5)
- Sauvegarde dune Bitmap......................................................................................(prg 6)
- Faire une photo d'écran........................................................................................(prg 7)
- Récupérer une Bitmap dans le programme (load).................................................(prg 8)
- Accéder aux datas d’une Bitmap...........................................................................(prg 9)
3 : Concevoir une animation
Télécharger le source commenté du cours 3
Allegro TD-TP 3 : spéciale préparation au DS
Allegro TD-TP 3
: Double buffer, sprites, animations, collisions
1. Avoir des acteurs (des formes ou des personnages) les animer et les afficher
1) Définir des acteurs à l’aide de structures
2) Affichage, méthode double buffer
- Test avec des acteurs « formes » (rect, cercles, etc.) ……..............................…(prg 1)
- Ajouter un fond (une image étirée par homotétie) ……….............................…...(prg 2)
- Pratiquer une homothétie………...…………………………….............................…............(prg 3)
3) Remplacer les formes (rect, cercles etc.) par des images……...............................(prg 4)
- affichage sans mode masque
- affichage avec mode masque
2. Sprites et animation
4) Remplacer une image par une séquence d’images
- Base de l'animation : un bonhomme marche sur place….…...............................(prg 5)
- Bonhomme déplacé au clavier……………………………….......................…......…...........(prg 6)
- Contrôler la vitesse de l’animation………………………….............................…...........(prg 7)
5) Généralisation du contrôle d’un sprite
- Définir une structure de données
- Récupérer une série d’images stockées dans un seul fichier...….......................(prg 8)
6) Animer plusieurs séquences simultanément……………….................................….....(prg 9)
3. Détecter des collisions
7) Test simple rectangle à rectangle……………………………..........................................(prg 10)
4 : Elaborer un monde
Télécharger le source commenté du cours 4
Télécharger le source du cours 4 modifié 2009
Allegro TD-TP 4
: Création d'un monde avec des personnages dedans
1. Avoir un décor
1) Scroller une grande image ..................................................................................(prg 1)
2) Till Map : construire un univers à partir de "tuiles"
- Agencement aléatoire de tuiles ........................................................................(prg 2)
- Agencement à la main de tuiles ........................................................................(prg 3)
3) Utiliser un éditeur graphique
- Présentation sommaire de Mappy (v1418) ............................................... (demo live)
- Récupération du terrain réalisé dans le source du programme........................ (prg 4)
2. Déplacer un bonhomme dans un décor
4) Bonhomme mobile dans décor fixe .....................................................................(prg 5)
5) Nombreux bonhommes mobiles dans décor fixe
- Obstacles respectés, pas de collision entre bonhommes .................................(prg 6)
- Obstacles respectés, collisions entre bonhomme ......................................
- Le player peut envoyer des boules de feu ................................................
6) Bonhomme fixe, c'est le décor qui bouge.............................................................(prg 7)
3. Nécessité de diviser son programme en plusieurs modules
- Découpage du programme "bonhomme fixe, c'est le décor qui bouge".............(prg 8)
5 : Collisions, lignes, chemins
Télécharger le source commenté du cours 5
Allegro TD-TP 5 ... suivi de projet
1. Etudes collisions
1) intersection rectangles........................................................................................(prg 1)
2) intersection polygones........................................................................................(prg 2)
3) différentiel de couleurs........................................................................................(prg 3)
2. Récupérer une ligne, un contour
4) récupérer des lignes (droite, cercle, ellipse, bézier)............................................(prg 4)
5) récupérer des lignes, algorithme P. Audibert (droite, cercle)...............................(prg 5)
6) récupérer un contours, algorithme P. Audibert....................................................(prg 6)
3. Disposer de trajets
7) fixer et suivre des trajets ..............................................................................
8) fixer et suivre une route plus large qu'un trajet ............................................
9) élaborer un réseau de stations .....................................................................
10) cheminer sur le réseau ................................................................................
4. Rechercher un chemin, bases
11) atteindre une proie, un objectif
- poursuite basique .......................................................................................
- le coup des miettes de pain du petit poucet ...............................................
12) problème des obstacles
- un mouvement aléatoire pour se dégager ..................................................
- contourner l'obstacle ...................................................................................
13) Déplacement dans plusieurs pièces
- explorer systématiquement les ouvertures .................................................
- utiliser la technique du réseau ....................................................................
5. Recherche de chemins, l'algorithme A-star (A*)
14) Recherche sur terrain uniforme
- commencer la recherche
- système d'évaluation
- processus et chemin trouvé ........................................................................
15) Recherche sur terrain composite (des zones de valeurs différentes)
- calcul du coût
- processus et chemin trouvé ........................................................................
- ajouter des zones d'influence en fonction de présences ............................
Bibliographie :
BOURG David M. et SEEMANN Glenn, AI for game developpers, O'Reilly, 2004.
|