Package | flash.display |
Classe | public class Sprite |
Héritage | Sprite DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
Sous-classes | DownloadProgressBar, FlexSprite, FLVPlayback, FLVPlaybackCaptioning, FTETextField, HTMLLoader, LayoutTargetSprite, MediaPlayerSprite, MovieClip, Preloader, ProLoader, SparkDownloadProgressBar, SplashScreen, TLFTextField, UIComponent |
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Un objet Sprite est similaire à un clip, mais ne possède pas de scénario. Sprite est une classe de base particulièrement adaptée aux objets qui ne nécessitent pas de scénario. Elle conviendrait par exemple aux composants de l’interface utilisateur qui ne requièrent en règle générale pas de scénario.
La classe Sprite est nouvelle dans ActionScript 3.0. Vous pouvez l’utiliser à la place de la classe MovieClip, qui conserve l’ensemble des fonctionnalités des versions antérieures d’ActionScript pour assurer une compatibilité ascendante.
Plus d’exemples
Informations complémentaires
Concepts fondamentaux de la programmation de l’affichage
Classes d’affichage de base
Utilisation des objets d’affichage
Sélection d’une sous-classe de DisplayObject
Propriété | Défini par | ||
---|---|---|---|
accessibilityImplementation : AccessibilityImplementation
Implémentation d’accessibilité (AccessibilityImplementation) actuelle pour cette occurrence d’InteractiveObject. | InteractiveObject | ||
accessibilityProperties : AccessibilityProperties
Options d’accessibilité actuelles de l’objet d’affichage. | DisplayObject | ||
alpha : Number
Indique la valeur de transparence alpha de l’objet spécifié. | DisplayObject | ||
blendMode : String
Valeur de la classe BlendMode qui spécifie le mode de fusion à utiliser. | DisplayObject | ||
blendShader : Shader [écriture seule]
Définit un shader utilisé pour la fusion de l’arrière-plan et du premier plan. | DisplayObject | ||
buttonMode : Boolean
Spécifie le mode de bouton du sprite. | Sprite | ||
cacheAsBitmap : Boolean
Si la valeur true est définie, les moteurs d’exécution de Flash placent en mémoire cache une version bitmap interne de l’objet d’affichage. | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
S’il n’est pas nul, cet objet Matrix définit le mode de rendu d’un objet d’affichage lorsque cacheAsBitmap est définie sur true. | DisplayObject | ||
constructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet. | Object | ||
contextMenu : NativeMenu
Spécifie le menu contextuel associé à l’objet. | InteractiveObject | ||
doubleClickEnabled : Boolean
Spécifie si l’objet reçoit les événements doubleClick. | InteractiveObject | ||
dropTarget : DisplayObject [lecture seule]
Spécifie l’objet d’affichage sur lequel le sprite est glissé ou sur lequel il a été déposé. | Sprite | ||
filters : Array
Tableau indexé contenant tous les objets filtre actuellement associés à l’objet d’affichage. | DisplayObject | ||
focusRect : Object
Spécifie si l’objet affiche un rectangle de focus. | InteractiveObject | ||
graphics : Graphics [lecture seule]
Spécifie l’objet Graphics appartenant au sprite qui prend en charge les commandes de dessin vectoriel. | Sprite | ||
height : Number
Indique la hauteur de l’objet d’affichage, en pixels. | DisplayObject | ||
hitArea : Sprite
Désigne un autre sprite qui fera office de zone active d’un sprite. | Sprite | ||
loaderInfo : LoaderInfo [lecture seule]
Renvoie un objet LoaderInfo qui contient des informations relatives au chargement du fichier auquel appartient cet objet d’affichage. | DisplayObject | ||
mask : DisplayObject
L’objet d’affichage appelant est masqué par l’objet mask spécifié. | DisplayObject | ||
metaData : Object
Obtient les données d’objet de métadonnées de l’occurrence DisplayObject si les données d’meta a été stockée près de la l’occurrence de cette DisplayObject dans le fichier SWF à l’aide d’une balise de4 PlaceObject. | DisplayObject | ||
mouseChildren : Boolean
Détermine si les enfants de l’objet prennent en charge la souris ou les périphériques de saisie utilisateur. | DisplayObjectContainer | ||
mouseEnabled : Boolean
Spécifie si l’objet reçoit des messages de la souris ou d’un autre périphérique de saisie utilisateur. | InteractiveObject | ||
mouseX : Number [lecture seule]
Indique la coordonnée x de la souris ou ou la position du périphérique de saisie utilisateur, en pixels. | DisplayObject | ||
mouseY : Number [lecture seule]
Indique la coordonnée y de la souris ou la position du périphérique de saisie utilisateur, en pixels. | DisplayObject | ||
name : String
Indique le nom d’occurrence de DisplayObject. | DisplayObject | ||
needsSoftKeyboard : Boolean
Indique si un clavier virtuel (clavier logiciel à l’écran) doit s’afficher lorsque cette occurrence d’InteractiveObject reçoit le focus. | InteractiveObject | ||
numChildren : int [lecture seule]
Renvoie le nombre d’enfants de l’objet. | DisplayObjectContainer | ||
opaqueBackground : Object
Indique si l’objet d’affichage est opaque avec une couleur d’arrière-plan spécifique. | DisplayObject | ||
parent : DisplayObjectContainer [lecture seule]
Indique l’objet DisplayObjectContainer qui contient l’objet d’affichage. | DisplayObject | ||
root : DisplayObject [lecture seule]
Pour un objet d’affichage résidant dans un fichier SWF chargé, la propriété root correspond à l’objet d’affichage de premier niveau dans la partie de la structure arborescente de la liste d’affichage représentée par ce fichier. | DisplayObject | ||
rotation : Number
Indique la rotation de l’occurrence de DisplayObject, en degrés, à partir de son orientation d’origine. | DisplayObject | ||
rotationX : Number
Indique la rotation de l’axe des x de l’occurrence DisplayObject, en degrés, à partir de son orientation d’origine par rapport au conteneur 3D parent. | DisplayObject | ||
rotationY : Number
Indique la rotation de l’axe des y de l’occurrence DisplayObject, en degrés, à partir de son orientation d’origine par rapport au conteneur 3D parent. | DisplayObject | ||
rotationZ : Number
Indique la rotation de l’axe des z de l’occurrence DisplayObject, en degrés, à partir de son orientation d’origine par rapport au conteneur 3D parent. | DisplayObject | ||
scale9Grid : Rectangle
Grille de mise à l’échelle en vigueur. | DisplayObject | ||
scaleX : Number
Indique l’échelle horizontale (pourcentage) de l’objet telle qu’elle est appliquée à partir du point d’alignement. | DisplayObject | ||
scaleY : Number
Indique l’échelle verticale (pourcentage) de l’objet telle qu’elle est appliquée à partir du point d’alignement. | DisplayObject | ||
scaleZ : Number
Indique l’échelle de profondeur (pourcentage) de l’objet tel qu’elle est appliquée à partir du point d’alignement. | DisplayObject | ||
scrollRect : Rectangle
Cadre de sélection du défilement de l’objet d’affichage. | DisplayObject | ||
softKeyboard : String
Contrôle l’aspect du clavier logiciel. | InteractiveObject | ||
softKeyboardInputAreaOfInterest : Rectangle
Définit la zone qui doit rester à l’écran lorsqu’un clavier logiciel s’affiche (non disponible sur iOS) | InteractiveObject | ||
soundTransform : flash.media:SoundTransform
Contrôle le son à l’intérieur du sprite. | Sprite | ||
stage : Stage [lecture seule]
Scène de l’objet d’affichage. | DisplayObject | ||
tabChildren : Boolean
Détermine si les enfants de l’objet prennent ou non en charge la tabulation. | DisplayObjectContainer | ||
tabEnabled : Boolean
Indique si cet objet est spécifié dans l’ordre de tabulation. | InteractiveObject | ||
tabIndex : int
Spécifie l’ordre de tabulation des objets dans un fichier SWF. | InteractiveObject | ||
textSnapshot : flash.text:TextSnapshot [lecture seule]
Renvoie un objet TextSnapshot pour l’occurrence de DisplayObjectContainer. | DisplayObjectContainer | ||
transform : flash.geom:Transform
Objet dont les propriétés se rapportent à la matrice, à la transformation des couleurs et aux limites des pixels d’un objet d’affichage. | DisplayObject | ||
useHandCursor : Boolean
Valeur booléenne indiquant si le curseur en forme de main apparaît lorsque le pointeur survole un sprite dont la propriété buttonMode est définie sur true. | Sprite | ||
visible : Boolean
Indique si l’objet d’affichage est visible ou non. | DisplayObject | ||
width : Number
Indique la largeur de l’objet d’affichage, en pixels. | DisplayObject | ||
x : Number
Indique la coordonnée x de l’occurrence de DisplayObject par rapport aux coordonnées locales de l’objet DisplayObjectContainer parent. | DisplayObject | ||
y : Number
Indique la coordonnée y de l’occurrence de DisplayObject par rapport aux coordonnées locales de l’objet DisplayObjectContainer parent. | DisplayObject | ||
z : Number
Indique la position de coordonnée z le long de l’axe des z de l’occurrence DisplayObject par rapport au conteneur 3D parent. | DisplayObject |
Méthode | Défini par | ||
---|---|---|---|
Sprite()
Crée une occurrence de Sprite. | Sprite | ||
Ajoute une occurrence DisplayObject enfant à cette occurrence DisplayObjectContainer. | DisplayObjectContainer | ||
Ajoute une occurrence DisplayObject enfant à cette occurrence DisplayObjectContainer. | DisplayObjectContainer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement. | EventDispatcher | ||
Indique si les restrictions de sécurité entraîneraient l’omission des objets d’affichage de la liste renvoyée en appelant la méthode DisplayObjectContainer.getObjectsUnderPoint() avec le point « point » spécifié. | DisplayObjectContainer | ||
Détermine si l’objet d’affichage spécifié est un enfant de l’occurrence de DisplayObjectContainer ou l’occurrence en tant que telle. | DisplayObjectContainer | ||
Distribue un événement dans le flux d’événements. | EventDispatcher | ||
Renvoie un rectangle qui définit la zone de l’objet d’affichage relativement au système de coordonnées de l’objet targetCoordinateSpace. | DisplayObject | ||
Renvoie l’occurrence enfant de l’objet d’affichage associée à l’index spécifié. | DisplayObjectContainer | ||
Renvoie l’objet d’affichage enfant portant le nom spécifié. | DisplayObjectContainer | ||
Renvoie la position d’index d’une occurrence enfant de DisplayObject. | DisplayObjectContainer | ||
Renvoie un tableau d’objets de niveau inférieur au point spécifié et qui sont les enfants (ou les petits-enfants, etc.) de l’occurrence de DisplayObjectContainer. | DisplayObjectContainer | ||
Renvoie un rectangle qui définit les limites de l’objet d’affichage, en se basant sur le système de coordonnées défini par le paramètre targetCoordinateSpace, moins tout trait appliqué aux formes. | DisplayObject | ||
Convertit l’objet point des coordonnées de scène (globales) vers les coordonnées de l’objet d’affichage (locales). | DisplayObject | ||
Convertit un point bidimensionnel à partir des coordonnées de scène (globales) vers les coordonnées d’un objet d’affichage tridimensionnel (locales). | DisplayObject | ||
Vérifie si des écouteurs sont enregistrés auprès de l’objet EventDispatcher pour un type spécifique d’événement. | EventDispatcher | ||
Indique si la propriété spécifiée d’un objet est définie. | Object | ||
Evalue le cadre de sélection de l’objet d’affichage pour savoir s’il recouvre ou recoupe le cadre de sélection de l’objet d’affichage obj. | DisplayObject | ||
Evalue l’objet d’affichage pour savoir s’il recouvre ou recoupe le point spécifié par les paramètres x et y. | DisplayObject | ||
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre. | Object | ||
Convertit un point tridimensionnel des coordonnées de l’objet d’affichage tridimensionnel (locales) vers un point bidimensionnel dans les coordonnées de scène (globales). | DisplayObject | ||
Convertit l’objet point des coordonnées de l’objet d’affichage (locales) vers les coordonnées de la scène (globales). | DisplayObject | ||
Indique si la propriété spécifiée existe et est énumérable. | Object | ||
Supprime l’occurrence enfant de DisplayObject spécifiée de la liste d’enfants de l’occurrence de DisplayObjectContainer. | DisplayObjectContainer | ||
Supprime une occurrence enfant de DisplayObject de la position d’index spécifiée dans la liste d’enfants de DisplayObjectContainer. | DisplayObjectContainer | ||
Supprime toutes les occurrences enfants de DisplayObject de la liste d’enfants de l’occurrence de DisplayObjectContainer. | DisplayObjectContainer | ||
Supprime un écouteur de l’objet EventDispatcher. | EventDispatcher | ||
Affiche un clavier virtuel. | InteractiveObject | ||
Modifie la position d’un enfant existant dans le conteneur d’objet d’affichage. | DisplayObjectContainer | ||
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. | Object | ||
Permet à l’utilisateur de faire glisser le sprite spécifié. | Sprite | ||
Permet à l’utilisateur de faire glisser le sprite spécifié sur un périphérique tactile. | Sprite | ||
Interrompt de façon récursive l’exécution du scénario de tous les clips ayant cet objet comme racine. | DisplayObjectContainer | ||
Met fin à la méthode startDrag(). | Sprite | ||
Met fin à la méthode startTouchDrag() en vue d’utiliser des périphériques tactiles. | Sprite | ||
Intervertit l’ordre de plan (ordre d’empilement du premier plan vers l’arrière-plan) des deux objets enfant spécifiés. | DisplayObjectContainer | ||
Intervertit l’ordre de plan (ordre d’empilement du premier plan vers l’arrière-plan) des objets enfant aux deux positions d’index spécifiées dans la liste d’enfants. | DisplayObjectContainer | ||
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur. | Object | ||
Renvoie la représentation sous forme de chaîne de l’objet spécifié. | Object | ||
Renvoie la valeur primitive de l’objet spécifié. | Object | ||
Vérifie si un écouteur d’événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d’événement spécifié. | EventDispatcher |
buttonMode | propriété |
buttonMode:Boolean
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Spécifie le mode de bouton du sprite. Si la valeur true
est renvoyée, ce sprite se comporte comme un bouton, ce qui signifie qu’il déclenche l’affichage du curseur en forme de main lorsque le pointeur le survole et qu’il peut recevoir un événement click
si l’utilisateur appuie sur la touche Entrée ou la barre d’espacement lorsque le sprite dispose du focus. Pour remplacer le curseur en forme de main par le pointeur standard, réglez la propriété useHandCursor
sur false
.
Bien qu’il soit préférable d’utiliser la classe SimpleButton pour créer des boutons, la propriété buttonMode
permet d’affecter à un sprite une fonctionnalité similaire à celle d’un bouton. Pour inclure un sprite dans l’ordre de tabulation, réglez la propriété tabEnabled
(héritée de la classe InteractiveObject et réglée sur false
par défaut) sur true
. Demandez-vous en outre si les enfants de votre sprite doivent prendre en charge la saisie utilisateur. La plupart des boutons n’activent pas l’interactivité avec la saisie utilisateur pour leurs objets enfant, en raison de son impact sur le flux d’événements. Pour désactiver l’interactivité avec la saisie utilisateur pour tous les objets enfant, définissez la propriété mouseChildren
(héritée de la classe DisplayObjectContainer) sur false
.
Si vous utilisez la propriété buttonMode
avec la classe MovieClip (une sous-classe de la classe Sprite), la fonctionnalité de votre bouton risque d’être enrichie. Si vous incluez les étiquettes d’images _up, _over et _down, Flash Player gère les changements d’état automatiques (fonctionnalité similaire à celle intégrée aux versions antérieures d’ActionScript pour les clips utilisés en tant que boutons). Ces changements d’état automatiques ne sont pas disponibles pour les sprites, qui ne disposent pas de scénario et donc, pas d’images à étiqueter.
Implémentation
public function get buttonMode():Boolean
public function set buttonMode(value:Boolean):void
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
buttonMode
sur true
pour l’un et false
pour l’autre. Lorsque vous compilez et exécutez l’application, les deux sprites répondent aux événements de la souris, mais seul celui où buttonMode
est défini sur true
a recours au curseur en forme de main et est inclus dans l’ordre de tabulation :
import flash.display.Sprite; import flash.events.MouseEvent; var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFFCC00); circle1.graphics.drawCircle(40, 40, 40); circle1.buttonMode = true; circle1.addEventListener(MouseEvent.CLICK, clicked); var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0xFFCC00); circle2.graphics.drawCircle(120, 40, 40); circle2.buttonMode = false; circle2.addEventListener(MouseEvent.CLICK, clicked); function clicked(event:MouseEvent):void { trace ("Click!"); } addChild(circle1); addChild(circle2);
dropTarget | propriété |
dropTarget:DisplayObject
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Spécifie l’objet d’affichage sur lequel le sprite est glissé ou sur lequel il a été déposé.
Implémentation
public function get dropTarget():DisplayObject
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
circle
et deux sprites target
. La méthode startDrag()
est appelée sur le sprite circle
lorsque l’utilisateur place le curseur sur le sprite et appuie sur le bouton de la souris, et lorsque la méthode stopDrag()
est appelée si l’utilisateur relâche le bouton de la souris. Cette opération permet de faire glisser le sprite. Lorsque l’utilisateur relâche le bouton de sa souris, la méthode mouseRelease()
est appelée, qui en retour suit la propriété name
de l’objet dropTarget
— celui vers lequel l’utilisateur fait glisser le sprite circle
:
import flash.display.Sprite; import flash.events.MouseEvent; var circle:Sprite = new Sprite(); circle.graphics.beginFill(0xFFCC00); circle.graphics.drawCircle(0, 0, 40); var target1:Sprite = new Sprite(); target1.graphics.beginFill(0xCCFF00); target1.graphics.drawRect(0, 0, 100, 100); target1.name = "target1"; var target2:Sprite = new Sprite(); target2.graphics.beginFill(0xCCFF00); target2.graphics.drawRect(0, 200, 100, 100); target2.name = "target2"; addChild(target1); addChild(target2); addChild(circle); circle.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown) function mouseDown(event:MouseEvent):void { circle.startDrag(); } circle.addEventListener(MouseEvent.MOUSE_UP, mouseReleased); function mouseReleased(event:MouseEvent):void { circle.stopDrag(); trace(circle.dropTarget.name); }
graphics | propriété |
graphics:Graphics
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Spécifie l’objet Graphics appartenant au sprite qui prend en charge les commandes de dessin vectoriel.
Implémentation
public function get graphics():Graphics
Exemple ( Comment utiliser cet exemple )
circle
et utilise sa propriété graphics
pour dessiner un cercle avec une trame jaune (0xFFCC00) :
import flash.display.Sprite; var circle:Sprite = new Sprite(); circle.graphics.beginFill(0xFFCC00); circle.graphics.drawCircle(40, 40, 40); addChild(circle);
hitArea | propriété |
hitArea:Sprite
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Désigne un autre sprite qui fera office de zone active d’un sprite. Si la propriété hitArea
n’existe pas, ou si sa valeur est null
ou undefined
, le sprite fait office de zone active. La valeur de la propriété hitArea
peut être une référence à un objet Sprite.
Vous pouvez modifier la propriété hitArea
à tout moment ; le sprite modifié accepte immédiatement le nouveau comportement de la zone active. Il n’est pas nécessaire que le sprite désigné comme zone active soit visible ; bien qu’elle ne soit pas visible, sa forme graphique est encore détectée comme zone active.
Remarque : vous devez définir sur false
la propriété mouseEnabled
du sprite désigné comme zone active. Dans le cas contraire, votre bouton sprite risque de ne pas fonctionner, car c’est le sprite désigné comme zone active qui reçoit les événements de saisie utilisateur et non le bouton sprite.
Implémentation
public function get hitArea():Sprite
public function set hitArea(value:Sprite):void
Exemple ( Comment utiliser cet exemple )
circle
et square
. Le sprite square
correspond à hitArea
pour le sprite circle
. Par conséquent, lorsque l’utilisateur clique sur le sprite square
, le sprite circle
distribue un événement click
:
import flash.display.Sprite; import flash.events.MouseEvent; var circle:Sprite = new Sprite(); circle.graphics.beginFill(0xFFCC00); circle.graphics.drawCircle(0, 0, 40); var square:Sprite = new Sprite(); square.graphics.beginFill(0xCCFF00); square.graphics.drawRect(200, 0, 100, 100); circle.hitArea = square; square.mouseEnabled = false; circle.addEventListener(MouseEvent.CLICK, clicked); function clicked(event:MouseEvent):void{ trace(event.target == circle); // true trace(event.target == square); // false } addChild(circle); addChild(square);
soundTransform | propriété |
soundTransform:flash.media:SoundTransform
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Contrôle le son à l’intérieur du sprite.
Remarque : cette propriété n’affecte pas le contenu HTML d’un objet HTMLControl (dans Adobe AIR).
Implémentation
public function get soundTransform():flash.media:SoundTransform
public function set soundTransform(value:flash.media:SoundTransform):void
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
container
et ajoute un objet Loader à sa liste enfant. L’objet Loader charge un fichier SWF. Lorsque l’utilisateur clique sur le champ de texte tf
, true
. La méthode mute()
définit la propriété volume
de la propriété soundTransform
du sprite container
:
import flash.display.Sprite; import flash.display.Loader; import flash.events.IOErrorEvent; import flash.events.MouseEvent; import flash.net.URLRequest; import flash.text.TextField; import flash.media.SoundTransform; var container:Sprite = new Sprite(); addChild(container); var ldr:Loader = new Loader; var urlReq:URLRequest = new URLRequest("SoundPlayer.swf"); ldr.load(urlReq); container.addChild(ldr); ldr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, urlNotFound); var tf:TextField = new TextField(); tf.htmlText = "<a href = 'event:Mute'>Mute / Unmute</a>"; addChild(tf); var mySoundTransform:SoundTransform = new SoundTransform(); mySoundTransform.volume = 1; tf.addEventListener(MouseEvent.CLICK, mute); function mute(event:MouseEvent):void { if (mySoundTransform.volume == 0) { mySoundTransform.volume = 1; } else { mySoundTransform.volume = 0; } container.soundTransform = mySoundTransform; } function urlNotFound(event:IOErrorEvent):void { trace("The URL was not found."); }
useHandCursor | propriété |
useHandCursor:Boolean
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 9, AIR 1.0 |
Valeur booléenne indiquant si le curseur en forme de main apparaît lorsque le pointeur survole un sprite dont la propriété buttonMode
est définie sur true
. La valeur par défaut de la propriété useHandCursor
est true
. Si la propriété useHandCursor
est définie sur true
, le curseur en forme de main utilisé pour les boutons s’affiche lorsque le pointeur survole un sprite. Si la propriété useHandCursor
est définie sur false
, le pointeur flèche est utilisé.
Vous pouvez modifier la propriété useHandCursor
à tout moment ; le sprite modifié accepte immédiatement la nouvelle apparence du curseur.
Remarque : dans Flex ou Flash Builder, si votre sprite possède des sprites enfants, vous pouvez définir la propriété mouseChildren
sur false
. Par exemple, si vous souhaitez qu’un curseur en forme de main apparaisse sur une commande Flex <mx:Label>, réglez les propriétés useHandCursor
et buttonMode
sur true
, et la propriété mouseChildren
sur false
.
Implémentation
public function get useHandCursor():Boolean
public function set useHandCursor(value:Boolean):void
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
buttonMode
sur true
pour les deux, cependant il définit la propriété useHandCursor
sur true
pour l’un et sur false
pour l’autre. Lorsque vous compilez et exécutez l’application, les deux sprites se comportent en tant que bouton et sont inclus dans l’ordre de tabulation, mais seul celui où useHandCursor
est défini sur true
a recours au curseur en forme de main :
import flash.display.Sprite; import flash.events.MouseEvent; var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFFCC00); circle1.graphics.drawCircle(40, 40, 40); circle1.buttonMode = true; circle1.useHandCursor = true; circle1.addEventListener(MouseEvent.CLICK, clicked); var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0xFFCC00); circle2.graphics.drawCircle(120, 40, 40); circle2.buttonMode = true; circle2.useHandCursor = false; circle2.addEventListener(MouseEvent.CLICK, clicked); function clicked(event:MouseEvent):void { trace ("Click!"); } addChild(circle1); addChild(circle2);
Sprite | () | Constructeur |
public function Sprite()
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Crée une occurrence de Sprite. Une fois l’occurrence de Sprite créée, appelez la méthode DisplayObjectContainer.addChild()
ou DisplayObjectContainer.addChildAt()
pour ajouter le sprite à une occurrence de l’objet DisplayObjectContainer parent.
startDrag | () | méthode |
public function startDrag(lockCenter:Boolean = false, bounds:Rectangle = null):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Permet à l’utilisateur de faire glisser le sprite spécifié. Il reste possible de faire glisser le sprite jusqu’à l’arrêt explicite de cette action par un appel à la méthode Sprite.stopDrag()
ou lorsqu’un autre sprite est rendu déplaçable. Vous ne pouvez déplacer qu’un seul sprite à la fois.
Les objets d’affichage tridimensionnels suivent le pointeur et la méthode Sprite.startDrag()
déplace l’objet dans le plan tridimensionnel défini par l’objet d’affichage. Si l’objet d’affichage est un objet bidimensionnel et l’enfant d’un objet tridimensionnel, l’objet bidimensionnel se déplace dans le plan tridimensionnel défini par l’objet parent tridimensionnel.
Paramètres
lockCenter:Boolean (default = false ) — Indique si le sprite à déplacer doit être verrouillé au centre de la position du pointeur (true ) ou verrouillé au point où l’utilisateur a cliqué sur le sprite en premier lieu (false ).
| |
bounds:Rectangle (default = null ) — Valeur relative aux coordonnées du parent du sprite qui spécifie un rectangle de délimitation pour le sprite.
|
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
circle
et deux sprites target
. La méthode startDrag()
est appelée sur le sprite circle
lorsque l’utilisateur place le curseur sur le sprite et appuie sur le bouton de la souris, et lorsque la méthode stopDrag()
est appelée si l’utilisateur relâche le bouton de la souris. Cette opération permet de faire glisser le sprite. Lorsque l’utilisateur relâche le bouton de sa souris, la méthode mouseRelease()
est appelée, qui en retour suit la propriété name
de l’objet dropTarget
— celui vers lequel l’utilisateur fait glisser le sprite circle
:
import flash.display.Sprite; import flash.events.MouseEvent; var circle:Sprite = new Sprite(); circle.graphics.beginFill(0xFFCC00); circle.graphics.drawCircle(0, 0, 40); var target1:Sprite = new Sprite(); target1.graphics.beginFill(0xCCFF00); target1.graphics.drawRect(0, 0, 100, 100); target1.name = "target1"; var target2:Sprite = new Sprite(); target2.graphics.beginFill(0xCCFF00); target2.graphics.drawRect(0, 200, 100, 100); target2.name = "target2"; addChild(target1); addChild(target2); addChild(circle); circle.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown) function mouseDown(event:MouseEvent):void { circle.startDrag(); } circle.addEventListener(MouseEvent.MOUSE_UP, mouseReleased); function mouseReleased(event:MouseEvent):void { circle.stopDrag(); trace(circle.dropTarget.name); }
startTouchDrag | () | méthode |
public function startTouchDrag(touchPointID:int, lockCenter:Boolean = false, bounds:Rectangle = null):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Permet à l’utilisateur de faire glisser le sprite spécifié sur un périphérique tactile. Il est possible de faire glisser le sprite jusqu’à l’arrêt explicite de cette action par un appel à la méthode Sprite.stopTouchDrag()
ou lorsqu’un autre sprite est rendu déplaçable. Vous ne pouvez déplacer qu’un seul sprite à la fois.
Les objets d’affichage tridimensionnels suivent le pointeur et la méthode Sprite.startTouchDrag()
déplace l’objet dans le plan tridimensionnel défini par l’objet d’affichage. Si l’objet d’affichage est un objet bidimensionnel et l’enfant d’un objet tridimensionnel, l’objet bidimensionnel se déplace dans le plan tridimensionnel défini par l’objet parent tridimensionnel.
Paramètres
touchPointID:int — Entier à attribuer au point tactile.
| |
lockCenter:Boolean (default = false ) — Indique si le sprite à déplacer doit être verrouillé au centre de la position du pointeur (true ) ou verrouillé au point où l’utilisateur a cliqué sur le sprite en premier lieu (false ).
| |
bounds:Rectangle (default = null ) — Valeur relative aux coordonnées du parent du sprite qui spécifie un rectangle de délimitation pour le sprite.
|
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
MySprite.addEventListener(TouchEvent.TOUCH_BEGIN, onTouchBegin); MySprite.addEventListener(TouchEvent.TOUCH_END, onTouchEnd); function onTouchBegin(e:TouchEvent) { e.target.startTouchDrag(e.touchPointID, false, bg.getRect(this)); trace("touch begin"); } function onTouchEnd(e:TouchEvent) { e.target.stopTouchDrag(e.touchPointID); trace("touch end"); }
stopDrag | () | méthode |
public function stopDrag():void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Met fin à la méthode startDrag()
. Un sprite qu’il est possible de déplacer grâce à la méthode startDrag()
reste déplaçable jusqu’à ce qu’une autre méthode stopDrag()
soit ajoutée, ou jusqu’à ce qu’un autre sprite devienne déplaçable. Vous ne pouvez déplacer qu’un seul sprite à la fois.
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
circle
et deux sprites target
. La méthode startDrag()
est appelée sur le sprite circle
lorsque l’utilisateur place le curseur sur le sprite et appuie sur le bouton de la souris, et lorsque la méthode stopDrag()
est appelée si l’utilisateur relâche le bouton de la souris. Cette opération permet de faire glisser le sprite. Lorsque l’utilisateur relâche le bouton de sa souris, la méthode mouseRelease()
est appelée, qui en retour suit la propriété name
de l’objet dropTarget
— celui vers lequel l’utilisateur fait glisser le sprite circle
:
import flash.display.Sprite; import flash.events.MouseEvent; var circle:Sprite = new Sprite(); circle.graphics.beginFill(0xFFCC00); circle.graphics.drawCircle(0, 0, 40); var target1:Sprite = new Sprite(); target1.graphics.beginFill(0xCCFF00); target1.graphics.drawRect(0, 0, 100, 100); target1.name = "target1"; var target2:Sprite = new Sprite(); target2.graphics.beginFill(0xCCFF00); target2.graphics.drawRect(0, 200, 100, 100); target2.name = "target2"; addChild(target1); addChild(target2); addChild(circle); circle.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown) function mouseDown(event:MouseEvent):void { circle.startDrag(); } circle.addEventListener(MouseEvent.MOUSE_UP, mouseReleased); function mouseReleased(event:MouseEvent):void { circle.stopDrag(); trace(circle.dropTarget.name); }
stopTouchDrag | () | méthode |
public function stopTouchDrag(touchPointID:int):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Met fin à la méthode startTouchDrag()
en vue d’utiliser des périphériques tactiles. Un sprite qu’il est possible de déplacer grâce à la méthode startTouchDrag()
reste déplaçable jusqu’à ce qu’une autre méthode stopTouchDrag()
soit ajoutée, ou jusqu’à ce qu’un autre sprite devienne déplaçable. Vous ne pouvez déplacer qu’un seul sprite à la fois.
Paramètres
touchPointID:int — Nombre entier attribué au point tactile dans la méthode startTouchDrag .
|
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
MySprite.addEventListener(TouchEvent.TOUCH_BEGIN, onTouchBegin); MySprite.addEventListener(TouchEvent.TOUCH_END, onTouchEnd); function onTouchBegin(e:TouchEvent) { e.target.startTouchDrag(e.touchPointID, false, bg.getRect(this)); trace("touch begin"); } function onTouchEnd(e:TouchEvent) { e.target.stopTouchDrag(e.touchPointID); trace("touch end"); }
- Déclarez la propriété
size
(100 x 100 pixels) et la couleur de fond (orange) pour une exploitation ultérieure lors du dessin du carré. - Le constructeur crée ensuite un nouvel objet Sprite
child
et l’utilise pour ajouter deux écouteurs d’événement et leurs méthodes associées :mouseDownHandler()
etmouseUpHandler()
. - L’objet Sprite
child
est ensuite transmis à la méthodedraw()
, qui dessine le carré orange. - L’enfant est ensuite placé dans la liste d’affichage grâce à un appel à la méthode
addChild()
. - Les écouteurs d’événements fonctionnent de la façon suivante :
mouseDownHandler()
: lorsque l’utilisateur clique sur l’objet Sprite, cette méthode ajoute un écouteur d’événements mouseMove, la méthodemouseMoveHandler()
, qui traite les mouvements de la souris. La méthodestartDrag()
est ensuite appelée et permet de faire glisser l’objet Sprite.mouseUpHandler()
: lorsque le bouton de la souris est relâché, l’écouteur d’événements mouseMove est supprimé et la méthodestopDrag()
est appelée, ce qui fige le carré orange.mouseMoveHandler
: tant que le bouton gauche de la souris reste enfoncé, cette méthode demande au lecteur de redessiner en continu le carré orange.
Remarque : chacune des méthodes de l’écouteur d’événements déclare une variable sprite
locale, qui se voit affecter la propriété target
de l’événement.
package { import flash.display.Sprite; import flash.events.*; public class SpriteExample extends Sprite { private var size:uint = 100; private var bgColor:uint = 0xFFCC00; public function SpriteExample() { var child:Sprite = new Sprite(); child.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); child.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); draw(child); addChild(child); } private function mouseDownHandler(event:MouseEvent):void { trace("mouseDownHandler"); var sprite:Sprite = Sprite(event.target); sprite.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); sprite.startDrag(); } private function mouseUpHandler(event:MouseEvent):void { trace("mouseUpHandler"); var sprite:Sprite = Sprite(event.target); sprite.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); sprite.stopDrag(); } private function mouseMoveHandler(event:MouseEvent):void { trace("mouseMoveHandler"); event.updateAfterEvent(); } private function draw(sprite:Sprite):void { sprite.graphics.beginFill(bgColor); sprite.graphics.drawRect(0, 0, size, size); sprite.graphics.endFill(); } } }
Tue Jun 12 2018, 09:30 AM Z