<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.
Devenez Membre de la Formation AS3 Facile

Classe de Sortie Debug Ultra Simple en ActionScript 3

0 question

Écrit le 1 novembre par Matthieu
Publié dans le(s) sujet(s) ActionScript 3

Mots clés : , , , , , , , ,

Le Programme AS3 Formation Platinum

Sur le site  de Grant Skinner, j’ai trouvé une classe de sortie debug ultra simple et pratique.

Pour afficher rapidement des valeurs, comme un trace, cette petite classe utilitaire est un bijou !

Utilisation de Out.as

Pour l’utiliser, c’est facile, il suffit de mettre la classe Out.as dans votre répertoire source (ou src).

Ensuite, il reste à affecter un champ texte de sortie à Out.textfield.

Out.ascode Classe de Sortie Debug Ultra Simple en ActionScript 3 printer Classe de Sortie Debug Ultra Simple en ActionScript 3 info Classe de Sortie Debug Ultra Simple en ActionScript 3 
Out.textField = oTextDebug;

Vous pouvez également spécifier le nombre maximum de caractères à conserver.

Ainsi, les anciennes trace seront automatiquement effacées au fur et à mesure de l’ajout des nouveaux.

Out.ascode Classe de Sortie Debug Ultra Simple en ActionScript 3 printer Classe de Sortie Debug Ultra Simple en ActionScript 3 info Classe de Sortie Debug Ultra Simple en ActionScript 3 
Out.maxLength = 1333;

Ensuite, de n’importe endroit de votre application, vous pouvez appeler Out.trace (valeur) pour effectuer un trace.

Cela affiche la valeur dans votre TextField en l’ajoutant à la fin de votre champ de texte.

Vous pouvez faire défiler le champ texte à la fin pour afficher le dernier trace.

Out.ascode Classe de Sortie Debug Ultra Simple en ActionScript 3 printer Classe de Sortie Debug Ultra Simple en ActionScript 3 info Classe de Sortie Debug Ultra Simple en ActionScript 3 
Out.trace("Bonjour");
Out.trace("count:", count);// Possibilité de transmettre plusieurs paramètres

Adapter Out.as à vos projets

Enfin, vous pouvez personnaliser le trace en fonction de votre projet.

Il suffit de remplacer Out.handler par votre propre fonction.

Par exemple, pour effectuer un format sur votre texte de trace, modifier sa couleur, ajouter des informations supplémentaires…

Vous pouvez ajouter une combinaison de touches (ctrl+d) pour afficher / masquer le trace.

Le code ci-dessous permet d’afficher le trace, uniquement si le premier paramètre est 1.

Ainsi, vous pouvez utiliser une variable, pour activer ou non la sortie trace sur Out.as.

Out.ascode Classe de Sortie Debug Ultra Simple en ActionScript 3 printer Classe de Sortie Debug Ultra Simple en ActionScript 3 info Classe de Sortie Debug Ultra Simple en ActionScript 3 
function log(...rest:Array):Boolean
{
  trace("logging : "+rest.join(","));
  // ... etc.
  // écrit dans le TextField seulement si le premier paramètre (ex. priorité debug) est > 1
  return rest[0] > 1; // renvoie false pour empêcher l'écriture dans Out.textField
}
Out.handler = log;

Exemple de personnalisation de Out.as

J’ai ajouté sur Out.as la gestion de l’appuie simultanée sur les touches Ctrl et D pour afficher ou masquer le TextField de Debug.

Merci d'activer Javascript et Flash pour voir cette vidéo Flash.

Télécharger le code source de Out.as

Dans le fichier ci-dessous, le code source de l’exemple avec la classe Out.as modifiée.

Voici le code source de la classe Out.as

Out.ascode Classe de Sortie Debug Ultra Simple en ActionScript 3 printer Classe de Sortie Debug Ultra Simple en ActionScript 3 info Classe de Sortie Debug Ultra Simple en ActionScript 3 
/**
* Out by Grant Skinner. May 22, 2010
* Visit www.gskinner.com/blog for documentation, updates and more free code.
*
*
* Copyright (c) 2010 Grant Skinner
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
**/
package  {
	import flash.text.TextField;
 
	public class Out {
 
		public static var handler:Function;
		public static var textField:TextField;
		public static var maxLength:uint=5000;
 
		public static function trace(...rest:Array):void {
			if (handler.apply(null,rest) != false && textField) {
				var txt:String = (textField.text+rest.join(" ")+"\n");
				textField.text = txt.substr(txt.length-maxLength);
				textField.scrollV = textField.maxScrollV;
			}
		}
	}
}
Out.handler = trace;

Exemple ActionScript source : Grant Skinner

Devenez Développeur Flash !
Rejoignez les 1500 membres AS3 Facile. Recevez des Cours Vidéos Actionscript Gratuits. Accéder à la Formation AS3 Facile dès maintenant. Renseignez votre Prénom puis votre Email ci-dessous.
icon cs5 Classe de Sortie Debug Ultra Simple en ActionScript 3
poweredby Classe de Sortie Debug Ultra Simple en ActionScript 3

Cours AS3 pouvant vous intéresser :

Une question sur ce cours ?

Vous avez un point bloquant ?
Besoin d'explications supplémentaires ?
Ou vous voulez partager votre code source.
Votre adresse de messagerie ne sera pas publiée.
Les champs obligatoires sont indiqués avec *

*


Notifiez-moi des réponses à venir via email.
Vous pouvez aussi vous abonner sans commenter.