Pakket | flash.display |
Klasse | public class Sprite |
Overerving | Sprite DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
Subklassen | DownloadProgressBar, FlexSprite, FLVPlayback, FLVPlaybackCaptioning, FTETextField, HTMLLoader, LayoutTargetSprite, MediaPlayerSprite, MovieClip, Preloader, ProLoader, SparkDownloadProgressBar, SplashScreen, TLFTextField, UIComponent |
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Een object Sprite lijkt op een filmclip, maar heeft geen tijdlijn. Sprite is een geschikte basisklasse voor objecten die geen tijdlijn vereisen. Sprite zou bijvoorbeeld een logische basisklasse zijn voor componenten van een gebruikersinterface die gewoonlijk geen tijdlijn gebruiken.
De klasse Sprite is nieuw in ActionScript 3.0. Deze klasse vormt een alternatief voor de functionaliteit van de klasse MovieClip, die de functionaliteit behoudt van eerdere ActionScript-versies, zodat achterwaartse compatibiliteit mogelijk is.
Meer voorbeelden
Eigenschap | Gedefinieerd door | ||
---|---|---|---|
accessibilityImplementation : AccessibilityImplementation
De huidige toegankelijkheidsimplementatie (AccessibilityImplementation) voor deze InteractiveObject-instantie. | InteractiveObject | ||
accessibilityProperties : AccessibilityProperties
De huidige toegankelijkheidsopties voor dit weergaveobject. | DisplayObject | ||
alpha : Number
Geeft de alpha-transparantiewaarde van het opgegeven object aan. | DisplayObject | ||
blendMode : String
Een waarde uit de klasse BlendMode die opgeeft welke overvloeimodus moet worden gebruikt. | DisplayObject | ||
blendShader : Shader [alleen-schrijven]
Stelt de arcering in die moet worden gebruikt om voor- en achtergrond in elkaar te laten overvloeien. | DisplayObject | ||
buttonMode : Boolean
Geeft de knopmodus van deze sprite op. | Sprite | ||
cacheAsBitmap : Boolean
Indien ingesteld op true, plaatsen Flash-runtimes een interne bitmaprepresentatie van het weergaveobject in cache. | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
Als dit Matrix-object niet null is, definieert het hoe een weergaveobject wordt gerenderd als cacheAsBitmap wordt ingesteld op true. | DisplayObject | ||
constructor : Object
Verwijzing naar het klasseobject of de constructorfunctie van een bepaalde objectinstantie. | Object | ||
contextMenu : NativeMenu
Geeft het contextmenu op dat is gekoppeld aan dit object. | InteractiveObject | ||
doubleClickEnabled : Boolean
Geeft op of dit object gebeurtenissen doubleClick ontvangt. | InteractiveObject | ||
dropTarget : DisplayObject [alleen-lezen]
Geeft het weergaveobject op waarover de sprite wordt gesleept of waarop de sprite is neergezet. | Sprite | ||
filters : Array
Een geïndexeerde array die elk filterobject bevat dat momenteel is gekoppeld aan het weergaveobject. | DisplayObject | ||
focusRect : Object
Geeft op of dit object een focusrechthoek weergeeft. | InteractiveObject | ||
graphics : Graphics [alleen-lezen]
Geeft het object Graphics op dat bij deze sprite hoort, waarbij vectortekenopdrachten kunnen optreden. | Sprite | ||
height : Number
Geeft de hoogte van het weergaveobject aan, in pixels. | DisplayObject | ||
hitArea : Sprite
Wijst een andere sprite aan als raakgebied voor een sprite. | Sprite | ||
loaderInfo : LoaderInfo [alleen-lezen]
Retourneert een object LoaderInfo dat informatie bevat over het laden van het bestand waartoe dit weergaveobject behoort. | DisplayObject | ||
mask : DisplayObject
Het aanroepende weergaveobject wordt gemaskeerd door het opgegeven object mask. | DisplayObject | ||
metaData : Object
Krijgt het metagegevensobject van de DisplayObject-instantie als de metagegevens zijn opgeslagen naast de instantie van dit DisplayObject in het SWF-bestand door een PlaceObject4-markering. | DisplayObject | ||
mouseChildren : Boolean
Bepaalt of de onderliggende elementen van het object door de muis of door een gebruikersinvoerapparaat worden ingeschakeld. | DisplayObjectContainer | ||
mouseEnabled : Boolean
Geeft aan of dit object berichten van de muis of gebruikersinvoer ontvangt. | InteractiveObject | ||
mouseX : Number [alleen-lezen]
Geeft de x-coördinaat van de apparaatpositie van de muis of de gebruikersinvoer aan in pixels. | DisplayObject | ||
mouseY : Number [alleen-lezen]
Geeft de y-coördinaat van de apparaatpositie van de muis of de gebruikersinvoer aan in pixels. | DisplayObject | ||
name : String
Geeft de instantienaam van het DisplayObject aan. | DisplayObject | ||
needsSoftKeyboard : Boolean
Geeft aan of een virtueel toetsenbord (een softwaretoetsenbord op het scherm) moet worden weergegeven wanneer deze InteractiveObject-instantie focus krijgt. | InteractiveObject | ||
numChildren : int [alleen-lezen]
Retourneert het aantal onderliggende objecten van dit object. | DisplayObjectContainer | ||
opaqueBackground : Object
Geeft op of het weergaveobject dekkend is met een bepaalde achtergrondkleur. | DisplayObject | ||
parent : DisplayObjectContainer [alleen-lezen]
Geeft het object DisplayObjectContainer aan dat dit weergaveobject bevat. | DisplayObject | ||
root : DisplayObject [alleen-lezen]
Voor een weergaveobject in een geladen SWF-bestand is de eigenschap root het bovenste weergaveobject in het gedeelte van de boomstructuur van het weergaveoverzicht dat wordt vertegenwoordigd door dat SWF-bestand. | DisplayObject | ||
rotation : Number
Geeft de rotatie van de instantie DisplayObject vanaf de oorspronkelijke oriëntatie (in graden) aan. | DisplayObject | ||
rotationX : Number
Geeft in graden de X-asrotatie van de DisplayObject-instantie aan ten opzichte van de 3D parent-container. | DisplayObject | ||
rotationY : Number
Geeft in graden de y-asrotatie van de DisplayObject-instantie aan ten opzichte van de 3D parent-container. | DisplayObject | ||
rotationZ : Number
Geeft in graden de z-asrotatie van de DisplayObject-instantie aan ten opzichte van de 3D parent-container. | DisplayObject | ||
scale9Grid : Rectangle
Het huidige schaalraster dat wordt gebruikt. | DisplayObject | ||
scaleX : Number
Bepaalt de horizontale schaal (percentage) van het object zoals deze wordt toegepast vanuit het registratiepunt. | DisplayObject | ||
scaleY : Number
Bepaalt de verticale schaal (percentage) van een object zoals deze wordt toegepast vanuit het registratiepunt van het object. | DisplayObject | ||
scaleZ : Number
Bepaalt de diepteschaal (percentage) van een object zoals deze wordt toegepast vanuit het registratiepunt van het object. | DisplayObject | ||
scrollRect : Rectangle
De verschuivende rechthoekgrenzen van het weergaveobject. | DisplayObject | ||
softKeyboard : String
Bepaalt het uiterlijk van het schermtoetsenbord. | InteractiveObject | ||
softKeyboardInputAreaOfInterest : Rectangle
Definieert het gebied dat als scherm moet blijven fungeren wanneer een softwaretoetsenbord wordt weergegeven (niet beschikbaar op iOS). | InteractiveObject | ||
soundTransform : flash.media:SoundTransform
Beheert geluid binnen deze sprite. | Sprite | ||
stage : Stage [alleen-lezen]
Het werkgebied van het weergaveobject. | DisplayObject | ||
tabChildren : Boolean
Bepaalt of de onderliggende objecten van het object tabnavigatie hebben. | DisplayObjectContainer | ||
tabEnabled : Boolean
Geeft op of dit object in de tabvolgorde is opgenomen. | InteractiveObject | ||
tabIndex : int
Geeft de tabvolgorde van objecten in een SWF-bestand op. | InteractiveObject | ||
textSnapshot : flash.text:TextSnapshot [alleen-lezen]
Retourneert een object TextSnapshot voor deze instantie DisplayObjectContainer. | DisplayObjectContainer | ||
transform : flash.geom:Transform
Een object met eigenschappen die betrekking hebben op de matrix van een weergaveobject, de kleurtransformatie en de pixelbeperkingen. | DisplayObject | ||
useHandCursor : Boolean
Een Booleaanse waarde die aangeeft of het wijzende handje wordt weergegeven wanneer de cursor wordt bewogen over een sprite waarin de eigenschap buttonMode is ingesteld op true. | Sprite | ||
visible : Boolean
Bepaalt of het weergaveobject zichtbaar is. | DisplayObject | ||
width : Number
Geeft de breedte van het weergaveobject aan, in pixels. | DisplayObject | ||
x : Number
Bepaalt de x-coördinaat van de instantie DisplayObject ten opzichte van de lokale coördinaten van de bovenliggende DisplayObjectContainer. | DisplayObject | ||
y : Number
Bepaalt de y-coördinaat van de instantie DisplayObject ten opzichte van de lokale coördinaten van de bovenliggende DisplayObjectContainer. | DisplayObject | ||
z : Number
Geeft de z-coördinaatpositie langs de z-as van de DisplayObject-instantie aan ten opzichte van de bovenliggende 3D-container. | DisplayObject |
Methode | Gedefinieerd door | ||
---|---|---|---|
Sprite()
Maakt een nieuwe instantie Sprite. | Sprite | ||
Voegt een onderliggende instantie DisplayObject toe aan deze instantie DisplayObjectContainer. | DisplayObjectContainer | ||
Voegt een onderliggende instantie DisplayObject toe aan deze instantie DisplayObjectContainer. | DisplayObjectContainer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registreert een gebeurtenislistenerobject bij een object EventDispatcher, zodat de listener een melding van een gebeurtenis ontvangt. | EventDispatcher | ||
Geeft aan of vanwege beveiligingsbeperkingen weergaveobjecten worden weggelaten uit de lijst die wordt geretourneerd wanneer de methode DisplayObjectContainer.getObjectsUnderPoint() wordt aangeroepen met het opgegeven punt. | DisplayObjectContainer | ||
Bepaalt of het opgegeven weergaveobject een onderliggend object van de instantie DisplayObjectContainer of de instantie zelf is. | DisplayObjectContainer | ||
Verzendt een gebeurtenis naar de gebeurtenisstroom. | EventDispatcher | ||
Retourneert een rechthoek die het gebied van het weergaveobject aangeeft ten opzichte van het coördinatensysteem van het object targetCoordinateSpace. | DisplayObject | ||
Retourneert de onderliggende weergaveobjectinstantie bij de opgegeven index. | DisplayObjectContainer | ||
Retourneert de onderliggende weergaveobjectinstantie met de opgegeven naam. | DisplayObjectContainer | ||
Retourneert de indexpositie van een onderliggende instantie DisplayObject. | DisplayObjectContainer | ||
Retourneert een array met objecten die zich onder het opgegeven punt bevinden en onderliggende objecten van deze instantie DisplayObjectContainer zijn (of onderliggende objecten van onderliggende objecten van die instantie). | DisplayObjectContainer | ||
Retourneert een rechthoek die de grens van het weergaveobject aangeeft op basis van het coördinatensysteem dat wordt gedefinieerd door de paramater targetCoordinateSpace, minus enige streken op vormen. | DisplayObject | ||
Hiermee worden de (algemene) werkgebiedcoördinaten van het object point omgezet in (lokale) objectcoördinaten. | DisplayObject | ||
Converteert een tweedimensionaal punt van de (algemene) werkruimtecoördinaten naar (lokale) coördinaten van een driedimensionaal weergaveobject. | DisplayObject | ||
Controleert of het object EventDispatcher listeners heeft geregistreerd voor een specifiek type gebeurtenis. | EventDispatcher | ||
Geeft aan of voor een object een opgegeven eigenschap is gedefinieerd. | Object | ||
Evalueert het selectiekader van het weergaveobject om te zien of dit het selectiekader van het weergaveobject obj overlapt of snijdt. | DisplayObject | ||
Hiermee wordt het weergaveobject geëvalueerd om te zien of deze een punt dat is opgegeven door de parameters x en y, overlapt of doorsnijdt. | DisplayObject | ||
Geeft aan of een instantie van de klasse Object zich in de prototypeketen van het object bevindt dat als parameter is opgegeven. | Object | ||
Converteert een driedimensionaal punt van de (lokale) coördinaten van het driedimensionale weergaveobject naar een tweedimensionaal punt in de (algemene) werkruimtecoördinaten. | DisplayObject | ||
Hiermee worden de (lokale) weergaveobjectcoördinaten van het object point omgezet in (algemene) werkgebiedcoördinaten. | DisplayObject | ||
Geeft aan of de opgegeven eigenschap bestaat en kan worden opgesomd. | Object | ||
Verwijdert de opgegeven onderliggende instantie DisplayObject uit de lijst met onderliggende objecten van de instantie DisplayObjectContainer. | DisplayObjectContainer | ||
Verwijdert een onderliggend DisplayObject uit de opgegeven indexpositie in de lijst met onderliggende objecten van de DisplayObjectContainer. | DisplayObjectContainer | ||
Verwijdert alle onderliggende DisplayObject-instanties uit de lijst met onderliggende objecten van de instantie DisplayObjectContainer. | DisplayObjectContainer | ||
Verwijdert een listener uit het object EventDispatcher. | EventDispatcher | ||
Geeft een virtueel toetsenbord weer. | InteractiveObject | ||
Wijzigt de positie van een bestaand onderliggend object in de weergaveobjectcontainer. | DisplayObjectContainer | ||
Stelt de beschikbaarheid van een dynamische eigenschap voor lusbewerkingen in. | Object | ||
Hiermee kan de gebruiker de opgegeven sprite slepen. | Sprite | ||
Hiermee kan de gebruiker de opgegeven sprite naar een apparaat met aanraakbediening slepen. | Sprite | ||
Stopt recursief de tijdlijnuitvoering van alle filmclips die beginnen bij dit object. | DisplayObjectContainer | ||
Beëindigt de methode startDrag(). | Sprite | ||
Beëindigt de startTouchDrag()-methode, voor gebruik met apparaten met aanraakbediening. | Sprite | ||
Wisselt de z-volgorde (van voor naar achter) van de twee opgegeven onderliggende objecten om. | DisplayObjectContainer | ||
Wisselt de z-volgorde (van voor naar achter) van de onderliggende objecten op de twee opgegeven indexposities in de lijst met onderliggende objecten om. | DisplayObjectContainer | ||
Geeft de tekenreeksweergave van dit object weer, geformatteerd volgens de locatiespecifieke conventies. | Object | ||
Retourneert een tekenreeksrepresentatie van het opgegeven object. | Object | ||
Retourneert de primitieve waarde van het opgegeven object. | Object | ||
Controleert of een gebeurtenislistener is geregistreerd bij dit object EventDispatcher of een van de voorouders voor het opgegeven type gebeurtenis. | EventDispatcher |
buttonMode | eigenschap |
buttonMode:Boolean
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Geeft de knopmodus van deze sprite op. Wanneer de waarde true
is, gedraagt deze sprite zich als een knop. Dit betekent dat de aanwijzer verandert in een handje wanneer de cursor zich op de sprite bevindt en dat de sprite de gebeurtenis click
kan ontvangen wanneer op de Enter-toets of de spatiebalk wordt gedrukt terwijl de sprite focus heeft. U kunt voorkomen dat het handje wordt weergegeven door de eigenschap useHandCursor
in te stellen op false
, in welk geval de aanwijzer wordt weergegeven.
Hoewel u beter de klasse SimpleButton kunt gebruiken om knoppen te maken, kunt u de eigenschap buttonMode
gebruiken om een sprite knopachtige functionaliteit te geven. Wanneer u een sprite wilt opnemen in de tabvolgorde, stelt u de eigenschap tabEnabled
(die wordt overerfd van de klasse InteractiveObject en standaard is ingesteld op false
) in op true
. Daarnaast dient u te overwegen of u wilt dat de onderliggende objecten van de sprite gebruikersinvoer hebben. Bij de meeste knoppen wordt geen gebruikersinvoerinteractiviteit ingesteld voor onderliggende objecten aangezien hierdoor de gebeurtenisstroom in de war wordt gestuurd. Wanneer u gebruikersinvoerinteractiviteit wilt uitschakelen voor alle onderliggende objecten, moet u de eigenschap mouseChildren
(die is overerfd van de klasse DisplayObjectContainer) instellen op false
.
Wanneer u de eigenschap buttonMode
gebruikt met de klasse MovieClip (een subklasse van de klasse Sprite), kunt u extra functionaliteit toevoegen aan de knop. Wanneer u frames genaamd _up, _over en _down toevoegt, biedt Flash Player automatische statuswijzigingen. (Deze functionaliteit lijkt op de functionaliteit die in eerdere versies van ActionScript werd geboden voor filmclips die als knoppen werden gebruikt.) Deze automatische statuswijzigingen zijn niet beschikbaar voor sprites, die geen tijdlijn hebben en dus geen frames die u een naam kunt geven.
Implementatie
public function get buttonMode():Boolean
public function set buttonMode(value:Boolean):void
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
buttonMode
voor de ene sprite ingesteld op true
en voor de andere op false
. Wanneer u deze toepassing compileert en uitvoert, reageren beide sprites op muisgebeurtenissen, maar alleen de sprite waarvoor buttonMode
is ingesteld op true
gebruikt het handje en wordt opgenomen in de tabvolgorde:
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 | eigenschap |
dropTarget:DisplayObject
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Geeft het weergaveobject op waarover de sprite wordt gesleept of waarop de sprite is neergezet.
Implementatie
public function get dropTarget():DisplayObject
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
circle
-sprite en twee target
-sprites gemaakt. De methode startDrag()
wordt aangeroepen voor de sprite circle
wanneer de gebruiker de cursor op de sprite plaatst en op de muisknop drukt, terwijl de methode stopDrag()
wordt aangeroepen wanneer de gebruiker de muisknop loslaat. Zo kan de gebruiker de sprite verslepen. Wanneer de muisknop wordt losgelaten, wordt de methode mouseRelease()
aangeroepen. Deze methode traceert de name
van het object dropTarget
(het object waarnaar de gebruiker de sprite circle
heeft gesleept):
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 | eigenschap |
graphics:Graphics
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Geeft het object Graphics op dat bij deze sprite hoort, waarbij vectortekenopdrachten kunnen optreden.
Implementatie
public function get graphics():Graphics
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
circle
gemaakt en wordt de eigenschap graphics
ervan gebruikt om een cirkel met een gele (0xFFCC00) vulling te tekenen:
import flash.display.Sprite; var circle:Sprite = new Sprite(); circle.graphics.beginFill(0xFFCC00); circle.graphics.drawCircle(40, 40, 40); addChild(circle);
hitArea | eigenschap |
hitArea:Sprite
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Wijst een andere sprite aan als raakgebied voor een sprite. Wanneer de eigenschap hitArea
niet bestaat of de waarde null
of undefined
heeft, wordt de filmclip zelf als raakgebied gebruikt. De waarde van de eigenschap hitArea
kan een verwijzing zijn naar een object Sprite.
U kunt de eigenschap hitArea
op elk moment wijzigen. De aangepaste sprite gebruikt direct het nieuwe gedrag voor het raakgebied. De sprite die als raakgebied wordt opgegeven, hoeft niet zichtbaar te zijn. De grafische vorm ervan wordt ook als raakgebied gedetecteerd wanneer de sprite niet zichtbaar is.
Opmerking: u moet de eigenschap mouseEnabled
van de sprite die als raakgebied wordt gebruikt instellen op false
. Zo niet, dan werkt de spriteknop mogelijk niet omdat de sprite die is toegewezen als raakgebied de gebruikersinvoergebeurtenissen ontvangt in plaats van de spriteknop.
Implementatie
public function get hitArea():Sprite
public function set hitArea(value:Sprite):void
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
circle
en de sprite square
gemaakt. De sprite square
is het hitArea
(raakgebied) voor de sprite circle
. Wanneer de gebruiker klikt op de sprite square
, verzendt de sprite circle
de gebeurtenis 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 | eigenschap |
soundTransform:flash.media:SoundTransform
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Beheert geluid binnen deze sprite.
Opmerking: deze eigenschap heeft geen invloed op de HTML-inhoud in een HTMLControl-object (in Adobe AIR).
Implementatie
public function get soundTransform():flash.media:SoundTransform
public function set soundTransform(value:flash.media:SoundTransform):void
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
container
gemaakt en het object Loader toegevoegd aan de lijst met onderliggende objecten ervan. Het object Loader laadt een SWF-bestand. Wanneer de gebruiker op de koppeling in het tekstveld tf
klikt (true
), stelt de methode mute()
de eigenschap volume
van de methode soundTransform
van de sprite container
in:
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 | eigenschap |
useHandCursor:Boolean
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 9, AIR 1.0 |
Een Booleaanse waarde die aangeeft of het wijzende handje wordt weergegeven wanneer de cursor wordt bewogen over een sprite waarin de eigenschap buttonMode
is ingesteld op true
. De standaardwaarde van de eigenschap useHandCursor
is true
. Wanneer useHandCursor
is ingesteld op true
, wordt het wijzende handje dat voor knoppen wordt gebruikt, weergegeven wanneer de cursor over een knopsprite beweegt. Wanneer useHandCursor
is ingesteld op false
, wordt in plaats daarvan de pijlaanwijzer gebruikt.
U kunt de eigenschap useHandCursor
op elk moment wijzigen. De aangepaste sprite gebruikt direct het nieuwe uiterlijk voor de aanwijzer.
Opmerking: In Flex of Flash Builder kunt u de eigenschap mouseChildren
beter op false
instellen als de sprite onderliggende sprites heeft. Wanneer u bijvoorbeeld wilt dat een handje wordt weergegeven boven een Flex-besturingselement <mx:Label>, stelt u de eigenschappen useHandCursor
en buttonMode
in op true
en de eigenschap mouseChildren
op false
.
Implementatie
public function get useHandCursor():Boolean
public function set useHandCursor(value:Boolean):void
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
buttonMode
voor beide ingesteld op true
. De eigenschap useHandCursor
wordt echter ingesteld op true
voor de ene sprite en op false
voor de andere. Wanneer u deze toepassing compileert en uitvoert, reageren beide sprites als knoppen (en worden ze opgenomen in de tabvolgorde), maar gebruikt alleen de sprite waarvoor useHandCursor
is ingesteld op true
het handje:
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 | () | Constructor |
public function Sprite()
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Maakt een nieuwe instantie Sprite. Nadat u de instantie Sprite hebt gemaakt, roept u de methode DisplayObjectContainer.addChild()
of DisplayObjectContainer.addChildAt()
aan om de Sprite toe te voegen aan een bovenliggende DisplayObjectContainer.
startDrag | () | methode |
public function startDrag(lockCenter:Boolean = false, bounds:Rectangle = null):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Hiermee kan de gebruiker de opgegeven sprite slepen. De sprite blijft versleepbaar totdat dit expliciet wordt beëindigd met een aanroep van de methode Sprite.stopDrag()
of totdat een andere sprite versleepbaar wordt gemaakt. Er kan slechts één sprite tegelijk versleepbaar zijn.
Driedimensionale weergaveobjecten volgen de cursor en Sprite.startDrag()
verplaatst het object binnen het driedimensionale vlak dat wordt gedefinieerd door het weergaveobject. Als het weergaveobject een tweedimensionaal object is en het onderliggende object is van een driedimensionaal object, wordt het tweedimensionale object verplaatst binnen het driedimensionale vlak dat wordt gedefinieerd door het driedimensionale bovenliggende object.
Parameters
lockCenter:Boolean (default = false ) — Geeft aan of de versleepbare sprite is vastgezet op het midden van de cursorpositie (true ) of op het punt waar de gebruiker voor het eerst op de sprite klikte (false ).
| |
bounds:Rectangle (default = null ) — Een waarde relatief ten opzichte van de coördinaten van het bovenliggende object van de sprite waarmee een beperkende rechthoek voor de sprite wordt opgegeven.
|
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
circle
-sprite en twee target
-sprites gemaakt. De methode startDrag()
wordt aangeroepen voor de sprite circle
wanneer de gebruiker de cursor op de sprite plaatst en op de muisknop drukt, terwijl de methode stopDrag()
wordt aangeroepen wanneer de gebruiker de muisknop loslaat. Zo kan de gebruiker de sprite verslepen. Wanneer de muisknop wordt losgelaten, wordt de methode mouseRelease()
aangeroepen. Deze methode traceert de name
van het object dropTarget
(het object waarnaar de gebruiker de sprite circle
heeft gesleept):
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 | () | methode |
public function startTouchDrag(touchPointID:int, lockCenter:Boolean = false, bounds:Rectangle = null):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Hiermee kan de gebruiker de opgegeven sprite naar een apparaat met aanraakbediening slepen. De sprite blijft versleepbaar totdat dit expliciet wordt beëindigd met een aanroep van de methode Sprite.stopTouchDrag()
of totdat een andere sprite versleepbaar wordt gemaakt. Er kan slechts één sprite tegelijk versleepbaar zijn.
Driedimensionale weergaveobjecten volgen de cursor en Sprite.startTouchDrag()
verplaatst het object binnen het driedimensionale vlak dat wordt gedefinieerd door het weergaveobject. Als het weergaveobject een tweedimensionaal object is en het onderliggende object is van een driedimensionaal object, wordt het tweedimensionale object verplaatst binnen het driedimensionale vlak dat wordt gedefinieerd door het driedimensionale bovenliggende object.
Parameters
touchPointID:int — Een geheel getal om aan een aanraakpunt toe te wijzen.
| |
lockCenter:Boolean (default = false ) — Geeft aan of de versleepbare sprite is vastgezet op het midden van de cursorpositie (true ) of op het punt waar de gebruiker voor het eerst op de sprite klikte (false ).
| |
bounds:Rectangle (default = null ) — Een waarde relatief ten opzichte van de coördinaten van het bovenliggende object van de sprite waarmee een beperkende rechthoek voor de sprite wordt opgegeven.
|
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
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 | () | methode |
public function stopDrag():void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Beëindigt de methode startDrag()
. Een sprite versleepbaar is gemaakt met de methode startDrag()
, blijft versleepbaar totdat de methode stopDrag()
wordt toegevoegd of totdat een andere sprite versleepbaar wordt. Er kan slechts één sprite tegelijk versleepbaar zijn.
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
circle
-sprite en twee target
-sprites gemaakt. De methode startDrag()
wordt aangeroepen voor de sprite circle
wanneer de gebruiker de cursor op de sprite plaatst en op de muisknop drukt, terwijl de methode stopDrag()
wordt aangeroepen wanneer de gebruiker de muisknop loslaat. Zo kan de gebruiker de sprite verslepen. Wanneer de muisknop wordt losgelaten, wordt de methode mouseRelease()
aangeroepen. Deze methode traceert de name
van het object dropTarget
(het object waarnaar de gebruiker de sprite circle
heeft gesleept):
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 | () | methode |
public function stopTouchDrag(touchPointID:int):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Beëindigt de startTouchDrag()
-methode, voor gebruik met apparaten met aanraakbediening. Een sprite versleepbaar is gemaakt met de methode startTouchDrag()
, blijft versleepbaar totdat de methode stopTouchDrag()
wordt toegevoegd of totdat een andere sprite versleepbaar wordt. Er kan slechts één sprite tegelijk versleepbaar zijn.
Parameters
touchPointID:int — Het gehele getal dat aan het aanraakpunt in de startTouchDrag -methode is toegewezen.
|
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
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"); }
- De eigenschap
size
(100 x 100 pixels) en de achtergrondkleur (oranje) worden gedeclareerd, zodat deze later kunnen worden gebruikt wanneer het vierkant wordt getekend. - Vervolgens maakt de constructor een nieuw
onderliggend
object Sprite, dat wordt gebruikt dit om twee gebeurtenislisteners en de bijbehorende methoden toe te voegen:mouseDownHandler()
enmouseUpHandler()
. - Het
onderliggende
object Sprite wordt vervolgens doorgegeven aan de methodedraw()
, die het oranje vierkant tekent. - Vervolgens wordt het onderliggende object aan het weergaveoverzicht toegevoegd via een aanroep van de methode
addChild()
. - De gebeurtenislisteners werken als volgt:
mouseDownHandler()
: wanneer de gebruiker op het object Sprite klikt, voegt deze methode een mouseMove-gebeurtenislistener, de methodemouseMoveHandler()
, toe die de muisverplaatsingen verwerkt. methodestartDrag()
aangeroepen, die mogelijk maakt dat het object Sprite wordt versleept.mouseUpHandler()
: wanneer de muisknop wordt losgelaten, wordt de gebeurtenislistener mouseMove verwijderd en wordt de methodestopDrag()
aangeroepen, die het oranje vierkant op zijn plaats vastzet.mouseMoveHandler
: zolang de linkermuisknop wordt ingedrukt, geeft deze methode de speler de opdracht om het oranje vierkant telkens opnieuw te tekenen.
Opmerking: elk van de methoden van de gebeurtenislistener declareert een lokale variabele sprite
, waaraan de eigenschap target
van de gebeurtenis wordt toegewezen.
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(); } } }
Wed Jun 13 2018, 11:42 AM Z