Déterminer l'entrée/sortie de la souris(pointeur) d'un swf

Soyez le premier à donner votre avis sur cette source.

Vue 6 309 fois - Téléchargée 529 fois

Description

Voici un petit utilitaire en AS3 que j'ai codé rapidement pour déterminer les sorties et entrées du pointeur dans un SWF.
Pourquoi faire me diriez-vous? Il y a évidement plusieurs applications.
Celle qui m'en a donné l'idée c'est : comment mettre en pause un jeu lorsque le pointeur du joueur sort du SWF ?
On peut aussi jouer ou stopper une animation (pour une bannière publicitaire par exemple), etc. Regardez l'exemple avec mon fameux lapin :)

Source / Exemple :


/*Le principe est simple. On crée un Sprite de la taille du Stage, lorsqu'on sort de ce Sprite, on sort en faite du SWF, de même pour la rentrée.
C'est pourquoi sur ce Sprite j'écoute les événements MouseEvent.ROLL_OVER et MouseEvent.ROLL_OUT.
Certains me diront qu'il existe déjà l'événement Stage.MOUSE_LEAVE. Mais ça détermine seulement la sortie, il faut du code en plus pour déterminer l'entrée.
L'utilisation est très simple, en voici un exemple
/*

package {
	
/////////////////////////////////
import flash.display.Sprite;
import com.bali.utils.*;
/////////////////////////////////
	
    public 	class TestMouseOutManager extends Sprite {
		public function TestMouseOutManager() :void {
			var mom :MouseOutManager = new MouseOutManager( this ,true );
			mom.addEventListener( MouseOutEvent.INSIDE 	, onInside 	);
			mom.addEventListener( MouseOutEvent.OUTSIDE , onOutside );
		}
		
		private function onInside	( e:MouseOutEvent ) :void {
			trace( "ENTREE" );
		}
		private function onOutside	( e:MouseOutEvent ) :void {
			trace( "SORTIE" );
		}
	}
	
}

Conclusion :


# Faite attention à ne JAMAIS utiliser d'algorithme qui supprime tous les DO(DisplayObject) du Stage, sinon le Sprite de cet utilitaire disparaîtra avec... snif!
# J'ai oublié de coder cet utilitaire dans le cas où on redimensionne le SWF. Mise à jour si j'ai le temps :)

Enjoy !
bali_balo =]

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
576
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
12 mai 2009

En tout cas avec la sortie de Flash CS4 et de sa nouvelle API, certains codeurs vont regreter de ne pas être passé à l'AS3 plus tôt...
Messages postés
6146
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
9
Le passage AS2 >> AS3 n'est pas possible sans une refonte totale du code tellement les principes sont différent dans la logique de codage.

C'est d'ailleurs une des raison pour laquelle peu de gens ne sont toujours pas passé à l'AS3. Mais je souligne l'effort que tu as fait pour ce passage tant redouté et douloureux (ça fait toujours ça la première fois ;))

Peg'
Messages postés
1378
Date d'inscription
samedi 9 octobre 2004
Statut
Membre
Dernière intervention
1 novembre 2010
1
En fait j'étais partie sur une ancienne source que j'avais codé en AS2 et j'ai repris le code en AS3 sans repenser la conception.
Et puis en testant ton code Stef j'ai vu que ça résolvait mon problème de taille du Stage.
Sinon l'utilité d'une classe externe c'est juste une question de pratique, de réutilisation, au lieu de réécrire le code.
Merci en tout cas pour vos commentaires, je vais revoir mon code :)
bali_balo....=]
Messages postés
6146
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
9
+1 avec Stef ...

Peg'
Messages postés
215
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
10 mars 2014

sympa le lapin et jtrouve ca utile
petfa
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.