begin process at 2012 02 07 06:18:38
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

ActionScripts

 > DÉTERMINER L'ENTRÉE/SORTIE DE LA SOURIS(POINTEUR) D'UN SWF

DÉTERMINER L'ENTRÉE/SORTIE DE LA SOURIS(POINTEUR) D'UN SWF


 Description

Cliquez pour voir la capture en taille normale
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

  • /*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" );
  • }
  • }
  • }
/*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 =]

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip "AUTO-SCROLLING" SUR UN SWF DANS UNE PAGE HTML
Source avec Zip Source avec une capture CHARGEUR CUSTOMIZABLE
Source avec Zip Source avec une capture CLASSE LOCALCONNECTION : EXEMPLE D'UTILISATION AVEC UN JEU D...
Source avec Zip Source avec une capture VARIATION DE LA VITESSE D'UNE ANIMATION : EXEMPLE DU SAUT D'...

 Sources de la même categorie

Source avec Zip ZOOM SUR UNE IMAGE par yasdar
Source avec Zip Source avec une capture UN PEU DE MATH par yasdar
Source avec Zip Source avec une capture PARTICULE SYSTEM par yasdar
Source avec Zip Source avec une capture GALLERIE PHOTO AVEC XML par yasdar
Source avec Zip Source avec une capture MP3 LAYER NICE &SMALL par yasdar

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture AS3 - PRINCIPE ET APPLICATION DE FONCTION RÉCURSIVE par pegase31
Source avec Zip Source avec une capture UN PEU DE MATH par yasdar
Source avec Zip Source avec une capture AS3 - JEU DU TAQUIN par pegase31
Source avec Zip Source avec une capture AS3 - SIMULATION DE GRILLE D'ÉDITION par pegase31
AS3 - CHARGER UNE IMAGE EXTERNE, L'UTILISER PLUSIEURS FOIS (... par SuperChouquette

Commentaires et avis

Commentaire de pegase31 le 10/10/2008 17:31:00 administrateur CS

Il va falloir que tu explique l'interêt d'une classe externe ("bali") alors qu'un simple "mouseLeave" et "mouseMove" suffit pour faire tout celà.

Peg'

Commentaire de stefbuet le 10/10/2008 17:36:46

Salut,

Moi j'aurais dit :

import flash.events.Event;
import flash.events.MouseEvent;
stage.addEventListener(Event.MOUSE_LEAVE, onGoOut);
function onGoOut(e:Event):void {
trace("Mouse out");
stage.addEventListener(MouseEvent.MOUSE_MOVE, onGoIn);
}
function onGoIn(e:MouseEvent):void {
trace("Mouse in");
stage.removeEventListener(MouseEvent.MOUSE_MOVE, onGoIn);
}

C'est plus propre :)

Commentaire de petifa le 11/10/2008 14:02:38

sympa le lapin et jtrouve ca utile
petfa

Commentaire de pegase31 le 11/10/2008 14:05:22 administrateur CS

+1 avec Stef ...

Peg'

Commentaire de bali_balo le 11/10/2008 20:40:37

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....=]

Commentaire de pegase31 le 11/10/2008 20:56:43 administrateur CS

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'

Commentaire de stefbuet le 11/10/2008 21:01:42

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...

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Convertir As2 en As3 [flash plein navigateur] [ par THEPENGUIN ] Bonjour à toutes et à tous,voilà ma question est simple je n'arrive à convertir un code As2 en As3... quelqu'un pourrait-il m'aider?le code est le sui Projet jeu flash [ par Nicorad ] Bonjour a tous,Je suis étudiant en écriture multimedia actuelement en stage, but de celui ci, creer un jeux flash et le vendre...Avant de commencer la vider la scène [ par JackNUMBER ] Bonjour à tous, J'essaie de me mettre à l'AS3 (je suis plutôt JS/PHP) et j'ai une question un peu bête... J'ai des éléments sur ma scène (non-créés v Recherche de chemin AS3 [ par carton99 ] Bonjour, je recherche les classes d'un programme près à l'emploi pour faire de la recherche de chemin. J'avais réalisé un A star en C++ il y a quelq lien sur un menu carrousel [ par OnyxFox ] Bonjour, premierement je le dit tout de suite, je ne connais practiquement rien a flash (meme si jaimerais lapprendre) mais pour linstant je nest pas Flash AS3 Joomla et Virtuemart [ par 7fmr ] Bonjour à tous, Je cherche à alimenter le panier de Virtuemart (Module de vente installé sur le cms Joomla) à partir d'un fichier swf contenu dans un [FLASH / AS3] Comment créer un lien à l'interieur d'un scrollpane ? [ par progenherbe ] Bonjour a tous, je vais essayer d'etre clair et bref. je suis en train de finaliser un site très important et je bloque à une étape cruciale. Sur l Faire des pauses dans une animation [ par metis15 ] Bonjour, je me suis fais un petit slider personnel, 28 images qui tournent en boucle avec une pause... J'ai fait presque tout dans la timeline car je As3 - Variable vers un parent.. [ par tartartartar ] Bonsoir, Je passe de l'As2 à As3 avec beaucoup de mal, j'aurais besoin d'aide... J'aimerai juste connaite l'équivalent de : [code=as]this.parent.maVa


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,796 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales