Posts Tagged ‘ActionScript 2’

Prototype LoadImage en AS2

Mercredi, juillet 22nd, 2009

Ayant été confronté a plusieurs reprises a une situation, pour un projet, où je devais charger une image dans un movieClip que ce soit de manière dynamique ou statique.

J’ai fini par en créer un prototype, très simple, d’objet movieClip pour ce faire :

////////// Prototype loadImage=
////////// Aucun Preload
MovieClip.prototype.loadImage = function(urlImage){
 	this.createEmptyMovieClip("container", 1);
	this["container"]._x = 0;
	this["container"]._y = 0;
	this["container"].loadMovie(urlImage);
	this.onEnterFrame = function(){
		if(this["container"]._width > 1){
			// Ajuste la position de movieClipContainer au milieu
			this["container"]._x = this["container"]._x - (this["container"]._width / 2);
			this["container"]._y = this["container"]._y - (this["container"]._height / 2);
			delete this.onEnterFrame;
		}
	}
}

A utiliser de cette façon :

MovieClip.loadImage("url/de/l/image/a/afficher.jpg");

Le prototype centre automatiquement l’image.

J’espère avoir fait gagné quelques secondes a mes lecteurs-flasheurs. A vous de l’améliorer selon vos besoin.

Vous trouvez d’autres tâches répétitives et prototypable ? Je suis preneur.

Notez que cet article, écrit par Jean-Luc Ranaivoarivao, a été copié sur le blog de ce dernier. Veuillez poster vos commentaires directement a son auteur.

LocalConnection en AS2

Mercredi, juillet 22nd, 2009

Supposons que pour la raison d’un mauvais découpage d’une charte, d’une mauvaise conception ou création, vous vous retrouvez confronté a un problème. Vous devez faire circuler des informations entre deux animations Flash.

L’alternative la plus simple, quoique pas forcément adapté à toutes les situations mais a l’avantage d’une implémentation très rapide, est LocalConnection. Un Objet AS2.

Considérons que nous avons deux animations qu’on appellera “action” et “evenement”.

On commence par créer l’objet réceptif dans le flash “action”:

in = new LocalConnection();

Dans le même flash, nous allons déclarer la méthode qui éxecutera l’action proprement dite et qui recevra un paramètre:

in.actionFunc = function(param) {
		//action
};

Ensuite on initialise la connexion de cet objet :

in.connect("evenement");

On passe ensuite sur l’animation “evenement” :

out = new LocalConnection();
out.send("action", "actionFunc", param);
//On supprime l'objet out.
delete out;

Il suffit de mettre ce dernier code sur l’évenement attendu. Le tour est joué.

L’implémentation est a la fois rapide et facile, toutefois sachez que LocalConnection est une connexion sur la machine cliente. Soit, si vous essayez d’ouvrir la page contenant les deux swf sur différents navigateurs, fenêtres ou onglets. Seule l’une des instances marchera.

Notez que cet article, écrit par Jean-Luc Ranaivoarivao, a été copié sur le blog de ce dernier. Veuillez poster vos commentaires directement a son auteur.