Le jeu est codé en AS3. Tout le code est placé dans des fichiers externes (.as). Le fichier FLA ne contient que les élements graphiques necessaires dans la bibliothèque, rien sur la scène principale.
Pour changer d'arme on peut utiliser soit la molette de la souris soit les fléches haut et bas du clavier, en effet je me suis rendu compte que l'évènement MouseEvent.MOUSE_WHEEL ne marche pas sous les mac, ainsi tout le monde pourra profiter du jeu :)
Un coefficient est appliqué à toutes les vitesses du jeu pour que le jeu tourne à la même vitesse sur toutes les machines. On calcule le temps écoulé entre deux appels de la fonction de mise à jour du code grâce à getTimer() (flash.utils.getTimer)
Dans les options vous pouvez mettre le mode de détection de collisions en Boundary Box. Cela ira beaucoup plus vite qu'avec le mode Perfect Pixel, mais la jouabilité est fortement endomagée. On ne peut pas tout avoir sur un ordinateur lent, la qualité, ou la vitesse :p
Les graphismes du vaisseau principal ont été faits en 3D sous 3dsmax puis exportés en images png pour flash. Le design 2D n'étant vraiment pas mon truc, j'avais prévu de faire tous les ennemis en 3D, mais par faute de temps et de disponibilité seul le premier ennemi à été modelisé en 3D, tous les autres proviennent de Photoshop.
Description des fichiers :
Main.fla : contient les élements graphiques du jeu dans la bibliothèque.
Main.as : Document class, permet de lancer le jeu et jongler entre les differentes fenêtres du jeu.
Game.as : se charge de tout initialiser, puis de tout mettre à jour, puis de tout quitter.
IA.as : se charge des calculs nécessaires aux actions des ennemis.
collisions.as : code et non classe, inseré dans la class Game qui s'occupe des collisions.
ScoreManager.as : gestion de tout ce qui concerne l'affichage graphique et la mise à jour du score.
Dernière chose :
petit conseil pour détruire les ennemis plus facilement, approchez vous un maximum d'eux en évitant leurs tirs jusqu'à ce qu'il changent leur trajectoire pour éviter la collision, lorsqu'il feront demi-tour, tirez leur dessus !