<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

AMELIORATION de SWFExplorer : parcourir toutes les classes d’une librairie externe

1 question

Écrit le 29 septembre par Matthieu
Publié dans le(s) sujet(s) ActionScript 3

Mots clés : , , , ,

Le Programme AS3 Formation Platinum

Dans le cours AS3 (SWFExplorer) précédent, nous avons appris à utiliser la classe SWFExplorer et surtout dans quels cas l’implémenter dans une application flash.

Il existe une version encore plus performante de cette classe : SWFExplorer améliorée.

En plus des fonctionnalités de SWFExplorer, cette version améliorée permet carrément de récupérer TOUTES les classes d’un fichier SWF.

C’est à dire, même les classes qui ne sont pas linkées.

Cette version de SWFExplorer est encore plus simple d’utilisation pour instancier des classes d’une librairie SWF partagée.

Voici ce que je vais vous apprendre dans ce cours AS3 :

  • Comment utiliser la classe SWFExplorer version améliorée.
  • La technique pour charger un fichier SWF contenant des éléments partagés (graphismes, animations, polices de caractères…).
  • Pourquoi utiliser la version améliorée de SWFExplorer.

Après avoir visionné ce cours ActionScript, vous serez capable d’utiliser la classe SWFExplorer version améliorée dans vos applications et jeux flash.

SWFExplorer améliorée

0 AMELIORATION de SWFExplorer : parcourir toutes les classes dune librairie externe

Exemple de code AS3 SWFExplorer

Voici la classe Main qui utilise les fonctionnalités de SWFExplorer version améliorée.

package
{
 
	import flash.utils.ByteArray;
	import ru.etcs.utils.getDefinitionNames;
 
	import flash.display.Loader;
	import flash.net.URLRequest;
	import flash.events.Event;
	import flash.display.Sprite;
 
	import com.demonsters.debugger.MonsterDebugger;
 
	/**
	 * La classe Main qui étend Sprite.
	 *
	 * définit le nombre d'images par secondes dans les paramètres de compilation
	 * -default-frame-rate 10
	 *
	 * source : http://etcs.ru/pre/getDefinitionNamesSource/
	 *
	 */
	public class Main extends Sprite
	{		
 
		/**
		 * Constructeur.
		 */
		public function Main()
		{
			// attend la fin de l'initialisation de la scène
			this.addEventListener(Event.ADDED_TO_STAGE, onReady, false, 0, true);
		}
 
		/**
		 * Démarrage de l'application.
		 * définit le nombre d'images par secondes dans les paramètres de compilation
		 * -default-frame-rate 10
		 *
		 */
		private function onReady(event : Event) : void
		{
			this.removeEventListener(Event.ADDED_TO_STAGE, onReady);
 
			// Init De MonsterDebugger
			MonsterDebugger.initialize(this);
			MonsterDebugger.trace(this, "Start Application");
 
			loadSWF();
		}
 
		/**
		 * Chargement d'un SWF à partir d'un objet Loader.
		 *
		 */
		private function loadSWF() : void
		{
			var _loader:Loader = new Loader();
			_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onSWFLoaded );
			//var file:URLRequest =  new URLRequest("fonts.swf");
			//var file:URLRequest =  new URLRequest("ui.swf");
			var file:URLRequest =  new URLRequest("pixlib.swf");
			_loader.load(file);
		}
 
		/**
		 * SWF chargé.
		 * Récupération des définitions de classes.
		 *
		 */
		private function onSWFLoaded(event : Event) : void
		{
			MonsterDebugger.trace(this, "onSWFLoaded parse some SWF bytes");
			MonsterDebugger.trace(this, event);
 
			var libraryBytes : ByteArray = event.target.content.loaderInfo.bytes as ByteArray;
 
			// affiche toutes les classes du fichier swf
			MonsterDebugger.trace(this, getDefinitionNames(libraryBytes));
 
			// affiche toutes les classes du fichier swf avec en plus les interfaces, les vecteurs, namespace...
            MonsterDebugger.trace(this, getDefinitionNames(libraryBytes, true));
 
			// affiche seulement les classes avec un lien public (avec un linkage)
			// pratique pour récupérer les linkages graphiques de votre fichier swf
            MonsterDebugger.trace(this, getDefinitionNames(libraryBytes, true, true));
		}
 
	}
}

 

Télécharger le code source du cours AS3

Vous trouverez un exemple de code source utilisant SWFExplorer améliorée.

Télécharger la dernière version de SWFExplorer améliorée.

Connaissez-vous cette classe SWFExplorer améliorée ? L’utilisez-vous dans vos projets flash ?

Ou peut être que vous utilisez la méthode classique d’Adobe Flash en produisant un seul fichier SWF ?

Partagez votre expérience de développeurs ActionScript dans les commentaires ci-dessous.

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 AMELIORATION de SWFExplorer : parcourir toutes les classes dune librairie externe
poweredby AMELIORATION de SWFExplorer : parcourir toutes les classes dune librairie externe

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.

1 question sur “AMELIORATION de SWFExplorer : parcourir toutes les classes d’une librairie externe”

  1. » Moryce dit |

    Merci pour cette classe getDefinitionNames
    elle m’a beaucoup aidé pour la gestion de mes polices