samedi 31 août 2013

jeudi 29 août 2013

Globalement




Maintenant que nous avons une version pleinement fonctionnelle de Shooter
en référence, il devient intéressant de revoir le déroulement du jeu d’une façon
plus globale, car on peut ainsi mieux apprécier le génie de Xna et de la programmation
objet.

La librairie MSDN le confirme, la rubrique Animation est bien une classe à l’intérieur
de Xna, accessible dans un using ...Graphics. Mais voilà, si on demande à voir ses
méthodes, tout ceci est bien intéressant et sans doute utile, mais cela ne guarantit
en rien le déroulement d’une animation.


C’est le coeur du problème: les classes ne remplacent pas l’obligation de programmer.

Notre jeu contient plus d’une animation à faire rouler: le player, les ennemis, les explosions. Si on regarde d’un oeil détaché la page animation à l’intérieur du jeu, on
se rend compte que les dénitions et la méthode update qui y sont créés ne s’appliquent
à aucune animation en particulier mais à toutes. Frame est défini mathématiquement,
en fonction de viewport et image width. (Image width, à son tour vient de la taille
de la texture2D, par le nombre de divisions, au moment du Load dans Game). Il
en revient au développeur de faire son travail. Notre jeu crée du nouveau dans Animation le temps du jeu.


Dans le même ordre d’idée, on se retrouve aussi en voie d’apprécier que certaines
façon de faire qu’on nous impose - pas toujours évidentes - recèlent des ouvertures
pour des procéder de programmation plus poussés. La première commande du Draw, le Begin, peu servir à un programmeur de jeu professionnel à spécifier bien des choses à propos du dessin à entreprendre, car c’est une méthode du SpriteBatch class.







mercredi 28 août 2013

Ouf!






                                                                                   
                                                                               


Ne pas oublier de régler les chiffres du Load pour la grosseur de l'image: 64, 64 ou 32, 32
si on change l'image de référence. On peut aussi laisser la petite image, réglée comme
telle, et obtenir la plus grosse en montant scale à 2.0f.

mardi 27 août 2013

Offset






                                                         
                                                                       

                                                                      



lundi 26 août 2013

dimanche 25 août 2013

samedi 24 août 2013

Exploding!!

 

 
 


                                                                                
                                                                         


vendredi 23 août 2013

Jouer dur!

 
 
 




 
 
 
 

jeudi 22 août 2013

Enemy






La mise en jeu d’engins ennemis devra ressembler à la mise en place du 
player: nouvelle classe, mais load et update toujours dans la page Game.
Sauf que des ennemis, il va y en avoir un nouveau à intervale fixe, et de
position arbitraire, régie par un objet random. Il va donc falloir créer une
liste d’ennemis, soumis aux aléas de l’update.

Petite touche intéressante, un ennemi disparaît quand il navigue hors du jeu, 
ou se fait happer à la force de ses crédits. Active == false mène à 
enemies. RemoveAt(i);. Glacial!









mercredi 21 août 2013

mardi 20 août 2013

Tuto4












Pour se mettre un peu d'ordre dans les idées sur la programmation-objet, l'université
Stanford offre un cours tout à fait charmant. Le premier tuto parle des ressources de classe et,
effectivement, tout est disponible.





https://github.com/NatashaTheRobot/Stanford-CS-106A/wiki/Stanford-Introduction-To-Computer-Science-Programming-Methodology-CS106A-Class-Guide