<h2>Votre Formation vidéo</h2><br/>
Votre formation est décomposée<br/>
en chapitres très clairs de 20 à 30 min. <h2>Des exemples SWF </h2><br/>
Chaque leçon est accompagnée<br/>
du code source avec le fla et les classes. <h2>Votre Suivi personnalisé</h2><br/>
Vous pouvez  me poser toutes<br/>
vos questions sous les cours vidéos.

10 Bonnes Pratiques en programmation ActionScript 3

1 question

Écrit le 2 février par Matthieu
Publié dans le(s) sujet(s) ActionScript 3

Mots clés : , , , , , ,

Le Kit du Développeur Flash

La programmation ActionScript 3 est vaste, avec une multitude de concepts à connaitre.

Toutefois, voici 10 bonnes pratiques à suivre pour programmer efficacement en AS3.

Gardez-les à l’esprit pendant la phase de développement d’une application ou d’un jeu flash !

10 – Choisir des noms de variables et de fonctions explicites

Penser toujours à utiliser des noms longs et descriptifs pour vos variables et vos fonctions.

Ainsi votre code parle, en partie, de lui-même.

Prenez cet exemple :

public function ajoutEnnemis()
{
	var oEnnemis : Soldat;
 
	for (var i : int = 0;i < 10;i++)
	{
		oEnnemis = new Soldat();
		oEnnemis.x = i * 10;
		oEnnemis.y = 130;
		addChild(oEnnemis);
	}
}

Que fait ce code ? Il semble ajouter des clip Ennemis à l’écran.

Avec ce type de nommage, il sera bien plus facile de modifier ce code quelques mois plus tard.

9 – Ajoutez des commentaires

C’est très important, surtout si vous travaillez en équipe : ajouter des commentaires simples et parlants dans votre code.

Ce petit effort supplémentaire du moment vous rendra bien des services, lorsque quelques mois plus tard, vous devrez vous replonger dedans pour le modifier.

Si vous travaillez avec d’autres développeurs, ce simple conseil devient une règle impérative !

Il existe deux types de commentaires :

  • les commentaires de ligne
  • les commentaires de bloc.

Le commentaire de ligne est une simple remarque à la fin d’une ligne ou avant la ligne de code.

Le commentaire de bloc est un commentaire plus important, généralement d’une ou de plusieurs phrases, qui apparaît avant une fonction ou une section de code.

Voici un commentaire de ligne :

// Init du debug MonsterDebugger
MonsterDebugger.initialize(this);

Et voici un commentaire de type bloc :

/**
 * Ajoute les coordonnées sur la carte.
 * Pour le debug et la construction de la carte.
 *
 */
private function addCoord(nVal:String, nX:Number, nY:Number) : void
{
    // ....
}

Il est très important que vos commentaires soient précis et concis.

8 – Choisir le type des variables correctement

Le typage adéquate des variables fait partie des facteurs qui peuvent grandement optimiser les performances de votre application.

Utilisez  le type int (nombre entier) à la place de Number (nombre réel).

Par exemple, le type int est beaucoup plus rapide pour parcourir l’ensemble des éléments d’un tableau.

/* positionne des logos alignés sur les lignes et les colonnes */
const MAX_NUM:int = 333;
var oLogo:BitmapData;
var bitmap:Bitmap;
for (var i:int = 0; i<MAX_NUM; i++)
{
	for (var j:int = 0; j<MAX_NUM; j++)
	{
		oLogo = new LogoAS3(0,0);
		bitmap = new Bitmap(oLogo);
		bitmap.x = j * oLogo.width;
		bitmap.y = i * oLogo.height;
		addChild(bitmap)
	}
}

7 – Utiliser des Sprite à la place de MovieClip

Lorsqu’il n’y a qu’une seule image utilisez toujours un Sprite ! – au lieu d’un MovieClip –

Cela permet de réduire les ressources mémoires utilisées.

Dans énormément de cas d’éléments graphiques, un simple Sprite peut remplacer votre MovieClip.

Un MovieClip sans animation, ni plusieurs images peut parfaitement être un Sprite 🙂

6 – Créer des fonctions

Si vous utilisez la même ligne de code plusieurs fois dans votre programme, il est temps de créer une fonction et d’appeler cette fonction à la place de vos lignes de code.

Par exemple, votre application contient plusieurs champs textes avec une mise en forme identique.

Plutôt que de répéter, à chaque fois, l’ensemble des lignes de code dans vos classes, pour créer votre champ texte, regroupez ces lignes dans une fonction.

Ensuite, la fonction peut prendre la forme suivante :

/**
 * Permet de créer un champ texte rapidement
 * avec une mise en forme identique.
 */
private function createTxt(sTxt:String) : TextField
{
     var txtField : TextField = new TextField();
     txtField.text = sTxt;
     txtField.autoSize = TextFieldAutoSize.LEFT;
     txtField.textColor = 0x006f77;
     txtField.selectable = false;
 
     // définit le format par défaut du texte
     var format : TextFormat = new TextFormat();
     format.size = 12;
     format.font = "Arial";
     txtField.defaultTextFormat = format;
 
     return txtField;
}

Maintenant, il vous est très facile de changer la mise en forme de l’ensemble des champs textes de votre application.

Il vous suffit de modifier un seul endroit dans votre code : votre fonction createTxt().

5 – Debugger son code petit à petit

Plutôt que de programmer toute votre application d’une traite, procédez étape par étape.

C’est à dire, programmez un comportement de votre personnage et testez-le avec un outil de debug efficace.

Une fois que votre morceau de code fonctionne comme vous le voulez – et pas avant – vous programmez la fonctionnalité suivante.

Et ainsi de suite jusqu’à la création complète de votre application flash.

4 – Détruire les objets correctement

Encore pour des raisons de performances et d’utilisation des ressources mémoires, il est important de supprimer les objets qui sont devenus inutiles.

Et il convient de les supprimer correctement.

Par exemple, si le joueur tire des balles pour tuer des ennemis, il maintient une touche enfoncée et en tir plusieurs…

Lorsque ces balles quittent la portion visible de l’écran, il est inutile de les conserver en mémoire.

Il faut donc les supprimer.

Pour supprimer complètement un objet, vous devez simplement vous débarrasser de toutes ses références et utiliser removeChild pour le retirer de la liste d’affichage.

Dans le cas des écouteurs d’évènements, comme le fait d’écouter si une touche est appuyée ou non par le joueur.

Pensez toujours à effectuer à supprimer l’écoute de l’évènement :

stage.removeEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
stage.removeEventListener(KeyboardEvent.KEY_UP, onKeyUp);

3 – Décomposer son code

Une information très importante : si vous ne savez pas comment programmer quelque chose, décomposez votre problème en étapes plus petites et poursuivez ainsi jusqu’à ce que vous puissiez trouver la solution.

Certains programmeurs oublient tout simplement cette règle se retrouvent souvent bloqués lorsqu’ils écrivent du code.

Ils se disent : Je ne sais pas comment faire pour que l’application réalise cette opération.

Le problème tient cependant uniquement au fait que l’opération n’en est pas une, mais en réalité plusieurs.

Par exemple, supposons que vous souhaitez faire pivoter une voiture lorsque le joueur appuie sur les touches directionnelles du clavier.

La solution consiste à décomposer la tâche de rotation de la voiture :

  • vérifier si la touche directionnelle (gauche ou droite) est enfoncée.
  • modifier la valeur de la propriété rotation du Sprite de la voiture (en fonction de la touche droite ou gauche).

La tâche de rotation du vaisseau correspond donc à quelques petites opération combinées en une seule.

Les programmeurs débutants font la même erreur à plus grande échelle. Ils pensent qu’ils ne pourront pas créer un jeu flash complet, parce que cela semble trop complexe.

Pourtant, si vous décomposez le jeu en une série d’opération de plus en plus petites (et vous occupez de ces opérations une par une), vous pourrez créer tout type de jeu.

Un jeu de voiture simple pourra ne requérir qu’une centaine d’opération, alors qu’un jeu de plateforme complexe en nécessitera plusieurs centaines. Chacune des opérations, une fois décomposée en étapes plus élémentaires, se révélera plus facile à programmer.

2 – Organiser son code

Au début c’est difficile, surtout lorsque l’on a pris de mauvaise habitudes…

Dans la mesure du possible, petit à petit, supprimez le code que vous ajoutez dans les images des MovieClips.

Dans des applications complexes, cela devient incompréhensibles, c’est brouillon et impossible à maintenir par un autre développeur.

A la place, associez vos MovieClip à des classes ou encore mieux, utilisez une architecture Model View Controler (avec PureMVC par exemple).

Commencez en douceur, en utilisant un éditeur ActionScript performant comme FDT.

FDT vous permet de séparer complètement votre code des éléments graphiques !

1 – De la pratique, de la pratique et encore de la pratique !

Le secret pour s’améliorer en programmation ActionScript, et dans les autres langages, c’est de mettre en pratique les conseils que vous lisez sur les blogs, dans des livres…

C’est uniquement par la pratique que vous allez acquérir des nouvelles compétences.

Posez des questions, et appliquez les réponses que vous recevez.

C’est une des meilleures méthodes pour progresser rapidement 😉



Développez des Jeux et Applications Flash avec la Formation AS3 Facile !

Recevez Gratuitement Des Cours en Vidéos, des codes source et des livrets de formation.
Et en bonus gratuit : Le Framework AS3 Facile ! 


tristique ut Donec Sed vel, neque. Curabitur commodo tempus quis Phasellus elit.