begin process at 2010 02 10 14:25:37
  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 NAVIGATION DANS UN FICHIER XML par inaden
Source avec Zip Source avec une capture TWSCROLLBAR, UNE CLASSE DE SCROLLBAR SIMPLE ET PRATIQUE À UT... par Twinspirit
Source avec Zip Source avec une capture REBOND DE BALLON AVEC TWEEN par habibcode
Source avec Zip DIAPORAMA AS2 par ahmedhrbdj
Source avec Zip EXAMPLES DE TWEENS AS2 par rajas

 Sources en rapport avec celle ci

Source avec Zip NAVIGATION DANS UN FICHIER XML par inaden
Source avec Zip Source avec une capture ROULETTE SIMPLE TYPE CASINO par jeanbat51
Source avec Zip DIAPORAMA AS3 par webcrea92
Source avec Zip EXPOGEN AS3 VESION 0.8 par remy2501
Source avec Zip BASE JEUX COMBAT par coolninja19

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 vu metre as3 [ par podi ] bonjour..j ai recup un fla qui tourne en as3 il sagit d'un vu metre canal gauche et droite qui bouge sur un mp3 prechargé...mais serait il possible de passage difficile à AS3 [ par attrition ] Bonjour à tous! Je débute tout juste en AS3 et souhaite refaire tout mon site ainsi... J'ai créé celui-ci sur une seule séquence avec des envois gotoA AS2 :loadMovie => attachMovie [ par JSBR ] Bonjour,    Bon voila mon objectif est plutôt simple je veux pouvoir ajouter à ma scène un clip à partir de son nom de liaison (attachMovie) qui se tr !URGENT! interompe animation et sous-annimation (pause) [ par zen69 ] Bonjour à tous,Je cherche un moyen de faire un pause en AS.Je m'explique si je render mon animation flash, pendant qu'elle joue je peux faire un droit Anti aliasing AS3 [ par chevrevolante ] Bonjour a tous, Est ce que quelqu'un sait comment on peut obtenir l'équivalent du texte sans aliasing ou texte bitmap (accessible dans le panneau des projet internet [ par ckad ] bonjour a tousvoila nous somme a la rechercher d un ou deux champion pour transformer des jeux en flachle projet avance grace a vous car c est la que projet internet [ par ckad ] bonjour a tousvoila nous somme a la rechercher d un ou deux champion pour transformer des jeux en flachle projet avance grace a vous car c est la que jeux en flach [ par ckad ] bonsoir je suis toujours a la recherche d ame charitable pour nous apporter de l aide pour des jeux en flach ou en delphij espere que les chalange vou


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

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 : 1,045 sec (3)

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