class openfl.display.Sprite extends DisplayObjectContainer
Available on all platforms
Sub classes | ||||||||||||
![]() | Loader, MovieClip, ContextMenuStrip, Control, Main |
|
The Sprite class is a basic display list building block: a display list node that can display graphics and can also contain children.
A Sprite object is similar to a movie clip, but does not have a timeline. Sprite is an appropriate base class for objects that do not require timelines. For example, Sprite would be a logical base class for user interface(UI) components that typically do not use the timeline.
The Sprite class is new in ActionScript 3.0. It provides an alternative to the functionality of the MovieClip class, which retains all the functionality of previous ActionScript releases to provide backward compatibility.
Instance Fields
var buttonMode:Bool
Specifies the button mode of this sprite. If true
, this
sprite behaves as a button, which means that it triggers the display of
the hand cursor when the pointer passes over the sprite and can receive a
click
event if the enter or space keys are pressed when the
sprite has focus. You can suppress the display of the hand cursor by
setting the useHandCursor
property to false
, in
which case the pointer is displayed.
Although it is better to use the SimpleButton class to create buttons,
you can use the buttonMode
property to give a sprite some
button-like functionality. To include a sprite in the tab order, set the
tabEnabled
property(inherited from the InteractiveObject
class and false
by default) to true
.
Additionally, consider whether you want the children of your sprite to be
user input enabled. Most buttons do not enable user input interactivity
for their child objects because it confuses the event flow. To disable
user input interactivity for all child objects, you must set the
mouseChildren
property(inherited from the
DisplayObjectContainer class) to false
.
If you use the buttonMode
property with the MovieClip
class(which is a subclass of the Sprite class), your button might have
some added functionality. If you include frames labeled _up, _over, and
_down, Flash Player provides automatic state changes(functionality
similar to that provided in previous versions of ActionScript for movie
clips used as buttons). These automatic state changes are not available
for sprites, which have no timeline, and thus no frames to label.
var useHandCursor:Bool
A Boolean value that indicates whether the pointing hand(hand cursor)
appears when the pointer rolls over a sprite in which the
buttonMode
property is set to true
. The default
value of the useHandCursor
property is true
. If
useHandCursor
is set to true
, the pointing hand
used for buttons appears when the pointer rolls over a button sprite. If
useHandCursor
is false
, the arrow pointer is
used instead.
You can change the useHandCursor
property at any time; the
modified sprite immediately takes on the new cursor appearance.
Note: In Flex or Flash Builder, if your sprite has child
sprites, you might want to set the mouseChildren
property to
false
. For example, if you want a hand cursor to appear over
a Flex useHandCursor
and
buttonMode
properties to true
, and the
mouseChildren
property to false
.
Creates a new Sprite instance. After you create the Sprite instance, call
the DisplayObjectContainer.addChild()
or
DisplayObjectContainer.addChildAt()
method to add the Sprite
to a parent DisplayObjectContainer.
function startDrag(?lockCenter:Bool = false, ?bounds:Rectangle = null):Void
Lets the user drag the specified sprite. The sprite remains draggable
until explicitly stopped through a call to the
Sprite.stopDrag()
method, or until another sprite is made
draggable. Only one sprite is draggable at a time.
Three-dimensional display objects follow the pointer and
Sprite.startDrag()
moves the object within the
three-dimensional plane defined by the display object. Or, if the display
object is a two-dimensional object and the child of a three-dimensional
object, the two-dimensional object moves within the three dimensional
plane defined by the three-dimensional parent object.
lockCenter | Specifies whether the draggable sprite is locked to the
center of the pointer position( |
bounds | Value relative to the coordinates of the Sprite's parent that specify a constraint rectangle for the Sprite. |