Paket | flash.display |
Klass | public class Sprite |
Arv | Sprite DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
Underklasser | DownloadProgressBar, FlexSprite, FLVPlayback, FLVPlaybackCaptioning, FTETextField, HTMLLoader, LayoutTargetSprite, MediaPlayerSprite, MovieClip, Preloader, ProLoader, SparkDownloadProgressBar, SplashScreen, TLFTextField, UIComponent |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Ett Sprite-objekt liknar ett filmklipp men saknar tidslinje. Sprite är en lämplig basklass för objekt som inte behöver tidslinjer. Sprite utgör exempelvis en logisk basklass för användargränssnittskomponenter (UI) som normalt inte använder tidslinjen.
Sprite-klassen är ny för ActionScript 3.0. Den erbjuder ett alternativ till funktionerna i MovieClip-klassen, med alla funktioner hos tidigare ActionScript-versioner, för bakåtkompatibilitet.
Fler exempel
Egenskap | Definieras med | ||
---|---|---|---|
accessibilityImplementation : AccessibilityImplementation
Den aktuella hjälpmedelsimplementeringen (AccessibilityImplementation) för den här InteractiveObject-instansen. | InteractiveObject | ||
accessibilityProperties : AccessibilityProperties
De nuvarande hjälpmedelsalternativen för det här visningsobjektet. | DisplayObject | ||
alpha : Number
Anger det angivna objektets alfagenomskinlighetsvärde. | DisplayObject | ||
blendMode : String
Ett värde från klassen BlendMode som anger vilket blandningsläge som ska användas. | DisplayObject | ||
blendShader : Shader [lässkyddad]
Ställer in en skuggning som används för blandning av förgrund och bakgrund. | DisplayObject | ||
buttonMode : Boolean
Anger knappläge för den här spriten. | Sprite | ||
cacheAsBitmap : Boolean
Om det är true, sparar Flash-miljöerna en intern bitmappsrepresentation av visningsobjektet i cache-minnet. | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
Om detta inte är null definierar det här Matrix-objektet hur ett visningsobjekt återges när cacheAsBitmap har värdet true. | DisplayObject | ||
constructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans. | Object | ||
contextMenu : NativeMenu
Anger vilken snabbmeny som är associerad med det här objektet. | InteractiveObject | ||
doubleClickEnabled : Boolean
Anger om det här objektet tar emot doubleClick-händelser. | InteractiveObject | ||
dropTarget : DisplayObject [skrivskyddad]
Anger det visningsobjekt som spriten dras över, eller som spriten släpptes på. | Sprite | ||
filters : Array
En indexerad array som innehåller varje filterobjekt som är associerat med visningsobjektet. | DisplayObject | ||
focusRect : Object
Anger om det här objektet visar en fokusram. | InteractiveObject | ||
graphics : Graphics [skrivskyddad]
Anger det Graphics-objekt som tillhör denna sprite där kommandon för vektorritning kan göras. | Sprite | ||
height : Number
Anger visningsobjektets höjd i pixlar. | DisplayObject | ||
hitArea : Sprite
Utser en annan sprite som ska fungera som träffområde för en sprite. | Sprite | ||
loaderInfo : LoaderInfo [skrivskyddad]
Returnerar ett LoaderInfo-objekt som innehåller information om hur filen som visningsobjektet tillhör ska läsas in. | DisplayObject | ||
mask : DisplayObject
Det anropande visningsobjektet maskeras av det angivna visningsobjektet. | DisplayObject | ||
metaData : Object
Erhåller metadataobjektet för instansen DisplayObject om metadata har lagrats tillsammans med instansen för detta DisplayObject i SWF-filen via en PlaceObject4-tagg. | DisplayObject | ||
mouseChildren : Boolean
Avgör om objektets underordnade objekt är aktiverade för en mus eller annan användarindataenhet (eller inte). | DisplayObjectContainer | ||
mouseEnabled : Boolean
Anger om det här objektet tar emot musmeddelanden eller annan indata från användaren. | InteractiveObject | ||
mouseX : Number [skrivskyddad]
Anger x-koordinaten för musens eller användarens indataenhets position i pixlar. | DisplayObject | ||
mouseY : Number [skrivskyddad]
Anger y-koordinaten för musens eller användarens indataenhets position i pixlar. | DisplayObject | ||
name : String
Anger instansnamnet för DisplayObject. | DisplayObject | ||
needsSoftKeyboard : Boolean
Anger om ett virtuellt tangentbord (t.ex. ett skärmtangentbord) ska visas när den här InteractiveObject-instansen är i fokus. | InteractiveObject | ||
numChildren : int [skrivskyddad]
Returnerar antalet underordnade objekt det här objektet har. | DisplayObjectContainer | ||
opaqueBackground : Object
Anger om visningsobjektet är ogenomskinligt med en viss bakgrundsfärg. | DisplayObject | ||
parent : DisplayObjectContainer [skrivskyddad]
Anger DisplayObjectContainer-objektet som innehåller visningsobjektet. | DisplayObject | ||
root : DisplayObject [skrivskyddad]
För ett visningsobjekt i en inläst SWF-fil är rotegenskapen det översta visningsobjektet i den del av visningslistans trädstruktur som representeras av den SWF-filen. | DisplayObject | ||
rotation : Number
Anger DisplayObject-instansens rotation i grader från den ursprungliga orienteringen. | DisplayObject | ||
rotationX : Number
Anger x-axelsrotationen i grader för DisplayObject-instansen, från den ursprungliga orienteringen i förhållande till den överordnade 3D-behållaren. | DisplayObject | ||
rotationY : Number
Anger y-axelsrotationen i grader för DisplayObject-instansen, från den ursprungliga orienteringen i förhållande till den överordnade 3D-behållaren. | DisplayObject | ||
rotationZ : Number
Anger z-axelsrotationen i grader för DisplayObject-instansen, från den ursprungliga orienteringen i förhållande till den överordnade 3D-behållaren. | DisplayObject | ||
scale9Grid : Rectangle
Det skalningsrutnät som används för närvarande. | DisplayObject | ||
scaleX : Number
Anger vågrät skala (i procent) för objektet utifrån dess registreringspunkt. | DisplayObject | ||
scaleY : Number
Anger lodrät skala (i procent) för objektet utifrån dess registreringspunkt. | DisplayObject | ||
scaleZ : Number
Anger djupskala (procent) för objektet utifrån dess registreringspunkt. | DisplayObject | ||
scrollRect : Rectangle
Visningsobjektets gränser för rullningsrektangeln. | DisplayObject | ||
softKeyboard : String
Kontrollerar utseendet på skärmtangentbordet. | InteractiveObject | ||
softKeyboardInputAreaOfInterest : Rectangle
Definierar det område som ska behållas på skärmen när skärmtangentbordet visas (ej tillgängligt på iOS). | InteractiveObject | ||
soundTransform : flash.media:SoundTransform
Styr ljudet i den här spriten. | Sprite | ||
stage : Stage [skrivskyddad]
Visningsobjektets scen. | DisplayObject | ||
tabChildren : Boolean
Avgör om objektets underordnade objekt är tabbaktiverade. | DisplayObjectContainer | ||
tabEnabled : Boolean
Anger om det här objektet inkluderas i tabbordningen. | InteractiveObject | ||
tabIndex : int
Anger tabbordningen för objekt i en SWF-fil. | InteractiveObject | ||
textSnapshot : flash.text:TextSnapshot [skrivskyddad]
Returnerar ett TextSnapshot-objekt för den här DisplayObjectContainer-instansen. | DisplayObjectContainer | ||
transform : flash.geom:Transform
Ett objekt med egenskaper som gäller ett visningsobjekts matris, färgomformning och pixelgränser. | DisplayObject | ||
useHandCursor : Boolean
Ett booleskt värde som anger om den pekande handen (handpekaren) ska visas när pekaren passerar över en sprite, vars buttonMode-egenskap är true. | Sprite | ||
visible : Boolean
Om visingsobjektet är synligt eller inte. | DisplayObject | ||
width : Number
Anger visningsobjektets bredd i pixlar. | DisplayObject | ||
x : Number
Anger x-koordinaten för DisplayObject-instansen i förhållande till de lokala koordinaterna för den överordnade DisplayObjectContainer. | DisplayObject | ||
y : Number
Anger y-koordinaten för DisplayObject-instansen i förhållande till de lokala koordinaterna för den överordnade DisplayObjectContainer. | DisplayObject | ||
z : Number
Anger z-koordinatens position längs DisplayObject-instansens z-axel i förhållande till den överordnade 3D-behållaren. | DisplayObject |
Metod | Definieras med | ||
---|---|---|---|
Sprite()
Skapar en ny Sprite-instans. | Sprite | ||
Lägger till en underordnad DisplayObject-instans i den här DisplayObjectContainer-instansen. | DisplayObjectContainer | ||
Lägger till en underordnad DisplayObject-instans i den här DisplayObjectContainer-instansen. | DisplayObjectContainer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registrerar ett händelseavlyssnarobjekt för ett EventDispatcher-objekt så att avlyssnaren får meddelanden om händelser. | EventDispatcher | ||
Anger om säkerhetsrestriktionerna kan göra att visningsobjekt utelämnas från listan som returneras när metoden DisplayObjectContainer.getObjectsUnderPoint() anropas med den angivna punkten. | DisplayObjectContainer | ||
Avgör om det angivna visningsobjektet är underordnat DisplayObjectContainer-instansen eller själva instansen. | DisplayObjectContainer | ||
Skickar en händelse till händelseflödet. | EventDispatcher | ||
Returnerar en rektangel som definierar visningsområdets område i relation till targetCoordinateSpace-objektets koordinatsystem. | DisplayObject | ||
Returnerar den underordnade visningsobjektsinstansen som finns vid det angivna indexvärdet. | DisplayObjectContainer | ||
Returnerar det underordnade visningsobjektet som har ett visst namn. | DisplayObjectContainer | ||
Returnerar indexpositionen för en underordnad DisplayObject-instans. | DisplayObjectContainer | ||
Returnerar en array med objekt som ligger under den angivna punkten och är underordnade (eller indirekt underordnade) den här DisplayObjectContainer-instansen. | DisplayObjectContainer | ||
Returnerar en rektangel som definierar visningsområdets gräns, baserat på koordinatsystemet som definieras av targetCoordinateSpace-parametern, exklusive eventuella linjer i former. | DisplayObject | ||
Konverterar punktobjektet från scenens (globala) koordinater till visningsobjektets (lokala) koordinater. | DisplayObject | ||
Konverterar en tvådimensionell punkt från scenens (globala) koordinater till ett tredimensionellt visningsobjekts (lokala) koordinater. | DisplayObject | ||
Kontrollerar om EventDispatcher-objektet har några avlyssnare registrerade för en viss typ av händelse. | EventDispatcher | ||
Anger om det finns en egenskap angiven för ett objekt. | Object | ||
Utvärderar begränsningsramen för visningsobjektet för att kontrollera om den överlappar eller korsar begränsningsramen för obj-visningsobjektet. | DisplayObject | ||
Utvärderar visningsobjektet för att avgöra om det överlappar eller korsar den punkt som anges av x- och y-parametrarna. | DisplayObject | ||
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter. | Object | ||
Konverterar en tredimensionell punkt för det tredimensionella visningsobjektets (lokala) koordinater till en tvådimensionell punkt i scenens (globala) koordinater. | DisplayObject | ||
Konverterar punktobjektet från visningsobjektets (lokala) koordinater till scenens (globala) koordinater. | DisplayObject | ||
Anger om den angivna egenskapen finns och är uppräkningsbar. | Object | ||
Tar bort den angivna underordnade DisplayObject-instansen från listan med underordnade för DisplayObjectContainer-instansen. | DisplayObjectContainer | ||
Tar bort ett underordnat DisplayObject från den angivna indexpositionen i den underordnade listan i DisplayObjectContainer. | DisplayObjectContainer | ||
Tar bort alla child-DisplayObject-instanser från listan med underordnade för DisplayObjectContainer-instansen. | DisplayObjectContainer | ||
Tar bort en avlyssnare från EventDispatcher-objektet. | EventDispatcher | ||
Visar ett virtuellt tangentbord. | InteractiveObject | ||
Ändrar positionen för ett befintligt underordnat objekt i behållaren för visningsobjekt. | DisplayObjectContainer | ||
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder. | Object | ||
Gör att användaren kan dra angiven sprite. | Sprite | ||
Låter användaren dra angiven sprite på en beröringsaktiverad enhet. | Sprite | ||
Stoppar rekursivt tidslinjekörning av alla filmklipp vars rot är detta objekt. | DisplayObjectContainer | ||
Avslutar metoden startDrag(). | Sprite | ||
Avslutar metoden startTouchDrag(), som används med beröringsaktiverade enheter. | Sprite | ||
Byter z-ordningen (framifrån och bakåt-ordning) för de två underordnade objekten. | DisplayObjectContainer | ||
Byter z-ordningen (framifrån och bakåt-ordning) för underordnade objekt vid de två angivna indexpositionerna i listan med underordnade objekt. | DisplayObjectContainer | ||
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner. | Object | ||
Returnerar det angivna objektets strängbeteckning. | Object | ||
Returnerar det angivna objektets primitiva värde. | Object | ||
Kontrollerar om en händelseavlyssnare är registrerad för det här EventDispatcher-objektet eller något av dess överordnade objekt för den angivna händelsetypen. | EventDispatcher |
buttonMode | egenskap |
buttonMode:Boolean
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Anger knappläge för den här spriten. Om true
uppför sig denna sprite som en knapp, vilket betyder att den utlöser visningen av handmarkören när pekaren passerar över spriten och kan ta emot en click
-händelse om enter eller mellanslag trycks ner när spriten är i fokus. Du kan undertrycka visningen av handmarkören genom att sätta useHandCursor
-egenskapen till false
, vilket medför att pekaren visas.
Det är bättre att använda klass SimpleButton för att skapa knappar, men du kan använda buttonMode
-egenskapen för att ge en sprite vissa knappliknande funktioner. För att ta med en sprite i tabbordningen sätter man tabEnabled
-egenskapen (som ärvts från klass InteractiveObject och är false
som standard) till true
. Tänk också på om du vill att din sprites underordnade ska vara aktiverade för användarinmatningar. De flesta knappar aktiverar inte användarindatainteraktivitet för sina underordnade objekt eftersom det stör händelseflödet. För att inaktivera användarindatainteraktivitet för samtliga underordnade objekt måste du sätta mouseChildren
-egenskapen (som ärvts från klassen DisplayObjectContainer) till false
.
Om du använder buttonMode
-egenskapen med klass MovieClip (som är en underklass till klass Sprite) kan din knapp ha vissa ytterligare funktioner. Om du tar tar med bildrutorna labeled _up, _over, och _down tillhandahåller Flash Player automatiska statusändringar (funktioner som liknar dem hos tidigare versioner av ActionScript för filmklipp som används som knappar). Dessa automatiska statusändringar finns inte tillgängliga för spriter, som inte har något tidslinje och därför inga bildrutor att etikettera.
Implementering
public function get buttonMode():Boolean
public function set buttonMode(value:Boolean):void
Relaterade API-element
Exempel ( Så här använder du exemplet )
buttonMode
-egenskapen till true
för den ena och false
för den andra. När du kompilerar och kör programmet besvarar bägge spriterna mushändelser, men bara den i vilken buttonMode
satts till true
använder handpekaren och inkluderas i tabbordningen:
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 | egenskap |
dropTarget:DisplayObject
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Anger det visningsobjekt som spriten dras över, eller som spriten släpptes på.
Implementering
public function get dropTarget():DisplayObject
Relaterade API-element
Exempel ( Så här använder du exemplet )
circle
-sprite och två target
-spriter. startDrag()
-metoden anropas på circle
-spriten när användaren placerar markören över spriten och trycker ner musknappen, och stopDrag()
-metoden anropas när användaren släpper upp musknappen. Det ger användaren möjlighet att dra spriten. När musknappen släpps upp anropas mouseRelease()
-metoden, vilket i sin tur kalkerar name
på dropTarget
-objektet — till vilket användaren drog circle
-spriten:
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 | egenskap |
graphics:Graphics
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Anger det Graphics-objekt som tillhör denna sprite där kommandon för vektorritning kan göras.
Implementering
public function get graphics():Graphics
Exempel ( Så här använder du exemplet )
circle
-sprite och använder dess graphics
-egenskap för att rita en cirkel med en gul (0xFFCC00) fyllning:
import flash.display.Sprite; var circle:Sprite = new Sprite(); circle.graphics.beginFill(0xFFCC00); circle.graphics.drawCircle(40, 40, 40); addChild(circle);
hitArea | egenskap |
hitArea:Sprite
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Utser en annan sprite som ska fungera som träffområde för en sprite. Om hitArea
-egenskapen saknas, eller om värdet är null
eller odefinierat
, används själva spriten som träffområde. Värdet för hitArea
-egenskapen kan utgöras av en referens till ett Sprite-objekt.
Du kan ändra egenskapen hitArea
när som helst. Den ändrade spriten får omedelbart det nya träffområdesbeteendet. Det sprite som valts som träffområde behöver inte vara synligt. Dess grafiska form fungerar fortfarande som träffområde även om det inte syns.
Obs! Du måste välja false
för egenskapen mouseEnabled
för den sprite som är träffområdet. I annat fall fungerar spriteknappen eventuellt inte eftersom den sprite som valts som träffområde tar emot användarindatahändelser i stället för din spriteknapp.
Implementering
public function get hitArea():Sprite
public function set hitArea(value:Sprite):void
Exempel ( Så här använder du exemplet )
circle
-sprite och två square
-spriter. square
-spriten utgör hitArea
för circle
-spriten. När användaren därför klickar på square
-spriten så skickar circle
-spriten en click
-händelse:
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 | egenskap |
soundTransform:flash.media:SoundTransform
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Styr ljudet i den här spriten.
Obs! Den här egenskapen påverkar inte HTML-innehåll i ett HTMLControl-objekt (i Adobe AIR).
Implementering
public function get soundTransform():flash.media:SoundTransform
public function set soundTransform(value:flash.media:SoundTransform):void
Relaterade API-element
Exempel ( Så här använder du exemplet )
container
och lägger till ett Loaderobjekt till sin lista med underordnade. Loader-objektet läser in en SWF-fil. När användaren klickar på länken i textfält tf
true
sätter metod mute()
egenskapen volume
för egenskapen soundTransform
för container
-spriten:
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 | egenskap |
useHandCursor:Boolean
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9, AIR 1.0 |
Ett booleskt värde som anger om den pekande handen (handpekaren) ska visas när pekaren passerar över en sprite, vars buttonMode
-egenskap är true
. Standardvärdet för useHandCursor
-egenskapen är true
. Om useHandCursor
sätts till true
visas den pekande handen som används för knappar när pekaren passerar över en knappsprite. Om useHandCursor
är false
används pilmarkören i stället.
Du kan ändra egenskapen useHandCursor
när som helst. Den ändrade spriten får automatiskt det nya markörutseendet.
Obs! Om ditt sprite-objekt i Flex eller Flash Builder har underordnade sprite-objekt kan det vara lämpligt att ange egenskapen mouseChildren
som false
. Om du till exempel vill att en handpekare visas över en Flex <mx:Label>-kontroll, ställer du in useHandCursor
- och buttonMode
-egenskaperna till true
och mouseChildren
-egenskapen till false
.
Implementering
public function get useHandCursor():Boolean
public function set useHandCursor(value:Boolean):void
Relaterade API-element
Exempel ( Så här använder du exemplet )
buttonMode
till true
för bägge, men sätter egenskapen useHandCursor
till true
för den ena och false
för den andra. När du kompilerar och kör programmet besvarar bägge spriterna mushändelser, men bara den i vilken useHandCursor
satts till true
använder handpekaren och inkluderas i tabbordningen:
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 | () | Konstruktor |
public function Sprite()
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Skapar en ny Sprite-instans. När du har skapat Sprite-instansen ska du anropa DisplayObjectContainer.addChild()
- eller DisplayObjectContainer.addChildAt()
-metoden för att lägga till denna Sprite till en överordnad DisplayObjectContainer.
startDrag | () | metod |
public function startDrag(lockCenter:Boolean = false, bounds:Rectangle = null):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Gör att användaren kan dra angiven sprite. Spriten fortsätter att vara dragbar tills den uttryckligen stoppas genom ett anrop till Sprite.stopDrag()
-metoden eller tills en annan sprite görs dragbar. Bara en sprite kan vara dragbar åt gången.
Tredimensionella visningsobjekt följer pekaren och Sprite.startDrag()
flyttar objektet inuti det tredimensionella planet som definieras av visningsobjektet. Om visningsobjektet är ett tvådimensionellt objekt och dessutom är ett underordnat objekt till ett tredimensionellt objekt, flyttas det tvådimensionella objektet inuti det tredimensionella plan som definieras av det överordnade tredimensionella objektet.
Parametrar
lockCenter:Boolean (default = false ) — Bestämmer om den dragbara spriten ska vara låst till pekarens mittpunkt (true ) eller till den punkt där användaren först klickade på spriten (false ).
| |
bounds:Rectangle (default = null ) — Ett värde som är relativt till koordinaterna för spritens överordnade objekt, och som anger en begränsningsram för spriten.
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
circle
-sprite och två target
-spriter. startDrag()
-metoden anropas på circle
-spriten när användaren placerar markören över spriten och trycker ner musknappen, och stopDrag()
-metoden anropas när användaren släpper upp musknappen. Det ger användaren möjlighet att dra spriten. När musknappen släpps upp anropas mouseRelease()
-metoden, vilket i sin tur kalkerar name
på dropTarget
-objektet — till vilket användaren drog circle
-spriten:
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 | () | metod |
public function startTouchDrag(touchPointID:int, lockCenter:Boolean = false, bounds:Rectangle = null):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Låter användaren dra angiven sprite på en beröringsaktiverad enhet. Spriten fortsätter att vara dragbar tills den uttryckligen stoppas genom ett anrop till Sprite.stopTouchDrag()
-metoden eller tills en annan sprite görs dragbar. Bara en sprite kan vara dragbar åt gången.
Tredimensionella visningsobjekt följer pekaren och Sprite.startTouchDrag()
flyttar objektet inuti det tredimensionella planet som definieras av visningsobjektet. Om visningsobjektet är ett tvådimensionellt objekt och dessutom är ett underordnat objekt till ett tredimensionellt objekt, flyttas det tvådimensionella objektet inuti det tredimensionella plan som definieras av det överordnade tredimensionella objektet.
Parametrar
touchPointID:int — Ett heltal som ska tilldelas beröringspunkten.
| |
lockCenter:Boolean (default = false ) — Bestämmer om den dragbara spriten ska vara låst till pekarens mittpunkt (true ) eller till den punkt där användaren först klickade på spriten (false ).
| |
bounds:Rectangle (default = null ) — Ett värde som är relativt till koordinaterna för spritens överordnade objekt, och som anger en begränsningsram för spriten.
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
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 | () | metod |
public function stopDrag():void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Avslutar startDrag()
-metoden. En sprite som gjorts dragbart med startDrag()
-metoden förblir dragbart tills en stopDrag()
-metod läggs till eller tills en annan sprite blir dragbar. Bara en sprite kan vara dragbar åt gången.
Relaterade API-element
Exempel ( Så här använder du exemplet )
circle
-sprite och två target
-spriter. startDrag()
-metoden anropas på circle
-spriten när användaren placerar markören över spriten och trycker ner musknappen, och stopDrag()
-metoden anropas när användaren släpper upp musknappen. Det ger användaren möjlighet att dra spriten. När musknappen släpps upp anropas mouseRelease()
-metoden, vilket i sin tur kalkerar name
på dropTarget
-objektet — till vilket användaren drog circle
-spriten:
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 | () | metod |
public function stopTouchDrag(touchPointID:int):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Avslutar metoden startTouchDrag()
, som används med beröringsaktiverade enheter. En sprite som gjorts dragbart med metoden startTouchDrag()
förblir dragbar tills en stopTouchDrag()
-metod läggs till eller tills en annan sprite blir dragbar. Bara en sprite kan vara dragbar åt gången.
Parametrar
touchPointID:int — Det heltal som tilldelats beröringspunkten i metoden startTouchDrag .
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
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"); }
- Deklarera
size
-egenskapen (100 x 100 pixlar) och bakgrundsfärgen (orange) för senare användning när fyrkanten ritas. - Sedan skapar konstruktorn ett nytt
underordnat
Sprite-objekt och använder det för att lägga till två händelseavlyssnare och deras tillhörande metoder:mouseDownHandler()
ochmouseUpHandler()
. - Det
underordnade
Sprite-objektet överförs sedan tilldraw()
-metoden, som ritar den orange fyrkanten. - Det underordnade objektet placeras sedan i visningslistan av ett anrop till
addChild()
-metoden. - Händelseavlyssnarna fungerar så här:
mouseDownHandler()
: när användaren klickar på Sprite-objektet lägger denna metod till en mouseMove-händelseavlyssnaren,mouseMoveHandler()
-metoden, som behandlar musrörelserna.startDrag()
-metoden anropas så att Sprite-objektet kan dras.mouseUpHandler()
: när musknappen släpps upp tas mouseMove-händelseavlyssnaren bort ochstopDrag()
-metoden anropas och fryser den orange fyrkanten på sin plats.mouseMoveHandler
: så länge den vänstra musknappen hålls nedtryckt instruerar denna metod spelaren att kontinuerligt rita om den orange fyrkanten.
Obs: Var och en av händelseavlyssnarmetoderna deklarerar en lokal sprite
-variabel, som tilldelas händelsens target
-egenskap.
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, 01:40 PM Z