Пакет | flash.display |
Класс | public class Sprite |
Наследование | Sprite DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
Подклассы | DownloadProgressBar, FlexSprite, FLVPlayback, FLVPlaybackCaptioning, FTETextField, HTMLLoader, LayoutTargetSprite, MediaPlayerSprite, MovieClip, Preloader, ProLoader, SparkDownloadProgressBar, SplashScreen, TLFTextField, UIComponent |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Объект Sprite напоминает фрагмент ролика, но не имеет временной шкалы. Sprite — это подходящий базовый класс для объектов, не требующих временной шкалы. Например, будет логично использовать класс Sprite в качестве базы для компонентов пользовательского интерфейса, для которых обычно не используется временная шкала.
Класс Sprite является новым в ActionScript 3.0. Это альтернатива для функций класса MovieClip, сохраняющая все возможности предыдущих версий ActionScript с целью обеспечения совместимости.
Свойство | Определено | ||
---|---|---|---|
accessibilityImplementation : AccessibilityImplementation
Текущая реализация специальных возможностей (AccessibilityImplementation) для данного экземпляра InteractiveObject. | InteractiveObject | ||
accessibilityProperties : AccessibilityProperties
Текущие параметры специальных возможностей для данного экранного объекта. | DisplayObject | ||
alpha : Number
Указывает значение альфа-прозрачности заданного объекта. | DisplayObject | ||
blendMode : String
Значение класса BlendMode, задающее режим наложения. | DisplayObject | ||
blendShader : Shader [только для записи]
Задает затенение, используемое при наложении переднего плана на фон. | DisplayObject | ||
buttonMode : Boolean
Задает режим кнопки данного спрайта. | Sprite | ||
cacheAsBitmap : Boolean
При значении true среда выполнения Flash кэширует внутреннее растровое представление экранного объекта. | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
Если задано ненулевое значение, данный объект Matrix определяет способ визуализации экранного объекта, когда свойство cacheAsBitmap имеет значение true. | DisplayObject | ||
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
contextMenu : NativeMenu
Определяет контекстное меню, связанное с данным объектом. | InteractiveObject | ||
doubleClickEnabled : Boolean
Определяет, получает ли объект события doubleClick. | InteractiveObject | ||
dropTarget : DisplayObject [только для чтения]
Определяет экранный объект, над которым перетаскивается спрайт либо на котором спрайт был отпущен. | Sprite | ||
filters : Array
Индексированный массив, который содержит все объекты filter, связанные в настоящий момент с экранным объектом. | DisplayObject | ||
focusRect : Object
Задает отображение прямоугольной рамки индикатора фокуса для данного объекта. | InteractiveObject | ||
graphics : Graphics [только для чтения]
Задает объект Graphics, принадлежащий данному спрайту, в котором могут выполняться команды векторного рисования. | Sprite | ||
height : Number
Указывает высоту экранного объекта в пикселях. | DisplayObject | ||
hitArea : Sprite
Определяет другой спрайт в качестве области щелчка для спрайта. | Sprite | ||
loaderInfo : LoaderInfo [только для чтения]
Возвращает объект LoaderInfo, содержащий сведения о загрузке файла, к которому принадлежит этот экранный объект. | DisplayObject | ||
mask : DisplayObject
Вызывающий экранный объект маскируется заданным объектом mask. | DisplayObject | ||
metaData : Object
Получает объект метаданных экземпляра DisplayObject, если метаданные хранились вместе с экземпляром этого DisplayObject в SWF-файле через тег PlaceObject4. | DisplayObject | ||
mouseChildren : Boolean
Определяет, поддерживают ли дочерние объекты события мыши или других устройств пользовательского ввода. | DisplayObjectContainer | ||
mouseEnabled : Boolean
Определяет, получает ли этот объект события мыши или другого пользовательского ввода. | InteractiveObject | ||
mouseX : Number [только для чтения]
Указывает координату x мыши или курсора пользовательского ввода (в пикселях). | DisplayObject | ||
mouseY : Number [только для чтения]
Указывает координату y мыши или курсора пользовательского ввода (в пикселях). | DisplayObject | ||
name : String
Указывает имя экземпляра DisplayObject. | DisplayObject | ||
needsSoftKeyboard : Boolean
Определяет, должна ли отображаться виртуальная клавиатура (программная экранная клавиатура), когда этот экземпляр InteractiveObject получает фокус. | InteractiveObject | ||
numChildren : int [только для чтения]
Возвращает число дочерних элементов данного объекта. | DisplayObjectContainer | ||
opaqueBackground : Object
Определяет, является ли экранный объект непрозрачным с определенным цветом фона. | DisplayObject | ||
parent : DisplayObjectContainer [только для чтения]
Указывает объект DisplayObjectContainer, содержащий данный экранный объект. | DisplayObject | ||
root : DisplayObject [только для чтения]
В случае с экранным объектом в загруженном SWF-файле свойством root является самый верхний экранный объект в части структуры дерева списка отображения, представленной этим SWF-файлом. | DisplayObject | ||
rotation : Number
Указывает поворот экземпляра DisplayObject относительно его исходной ориентации (в градусах). | DisplayObject | ||
rotationX : Number
Обозначает поворот в градусах по оси x экземпляра DisplayObject относительно исходной ориентации по трехмерному вышестоящему контейнеру. | DisplayObject | ||
rotationY : Number
Обозначает угол поворота в градусах по оси у экземпляра DisplayObject относительно исходной ориентации по трехмерному родительскому контейнеру. | DisplayObject | ||
rotationZ : Number
Обозначает поворот в градусах по оси z экземпляра DisplayObject от исходной ориентации относительно трехмерного родительского контейнера. | DisplayObject | ||
scale9Grid : Rectangle
Текущая активная сетка масштабирования. | DisplayObject | ||
scaleX : Number
Указывает горизонтальное масштабирование объекта от точки регистрации (в процентах). | DisplayObject | ||
scaleY : Number
Указывает вертикальное масштабирование объекта от точки регистрации (в процентах). | DisplayObject | ||
scaleZ : Number
Указывает глубину масштабирования объекта (в процентах) относительно точки регистрации этого объекта. | DisplayObject | ||
scrollRect : Rectangle
Прямоугольная область прокрутки экранного объекта. | DisplayObject | ||
softKeyboard : String
Управляет внешним видом программной клавиатуры. | InteractiveObject | ||
softKeyboardInputAreaOfInterest : Rectangle
Определяет область, которая должна оставаться на экране при отображении программной клавиатуры (недоступна в iOS). | InteractiveObject | ||
soundTransform : flash.media:SoundTransform
Управляет звуком в данном спрайте. | Sprite | ||
stage : Stage [только для чтения]
Класс Stage экранного объекта. | DisplayObject | ||
tabChildren : Boolean
Определяет, включен ли переход между нижестоящими элементами объекта с помощью клавиши Tab. | DisplayObjectContainer | ||
tabEnabled : Boolean
Определяет, включен ли переход к этому объекту с помощью клавиши Tab. | InteractiveObject | ||
tabIndex : int
Задает последовательность перехода между объектами в SWF-файле. | InteractiveObject | ||
textSnapshot : flash.text:TextSnapshot [только для чтения]
Возвращает объект TextSnapshot для данного экземпляра DisplayObjectContainer. | DisplayObjectContainer | ||
transform : flash.geom:Transform
Объект со свойствами, относящимися к матрице, преобразованию цвета и пиксельным границам экранного объекта. | DisplayObject | ||
useHandCursor : Boolean
Логическое значение, определяющее, должен ли отображаться курсор в виде руки при наведении указателя мыши на спрайт, в котором свойство buttonMode имеет значение true. | Sprite | ||
visible : Boolean
Определяет видимость экранного объекта. | DisplayObject | ||
width : Number
Указывает ширину экранного объекта в пикселях. | DisplayObject | ||
x : Number
Указывает координату x экземпляра DisplayObject, связанную с локальными координатами родительского DisplayObjectContainer. | DisplayObject | ||
y : Number
Указывает координату y экземпляра DisplayObject, связанную с локальными координатами родительского DisplayObjectContainer. | DisplayObject | ||
z : Number
Указывает положение по оси z экземпляра DisplayObject относительно трехмерного родительского контейнера. | DisplayObject |
Метод | Определено | ||
---|---|---|---|
Sprite()
Создает новый экземпляр Sprite. | Sprite | ||
Добавляет экземпляр дочернего элемента DisplayObject к экземпляру DisplayObjectContainer. | DisplayObjectContainer | ||
Добавляет экземпляр дочернего элемента DisplayObject к экземпляру DisplayObjectContainer. | DisplayObjectContainer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события на объекте EventDispatcher для получения прослушивателем уведомления о событии. | EventDispatcher | ||
Показывает, могут ли ограничения безопасности привести к пропуску каких-либо экранных объектов в списке, возвращаемом в результате вызова метода DisplayObjectContainer.getObjectsUnderPoint() с заданной точкой point. | DisplayObjectContainer | ||
Определяет, является ли указанный объект отображения дочерним объектом экземпляра DisplayObjectContainer или самим экземпляром. | DisplayObjectContainer | ||
Посылает событие в поток событий. | EventDispatcher | ||
Возвращает прямоугольник, определяющий область объекта отображения, которая относится к системе координат объекта targetCoordinateSpace. | DisplayObject | ||
Возвращает экземпляр дочернего экранного объекта, существующий в заданной позиции индекса. | DisplayObjectContainer | ||
Возвращает экземпляр дочернего экранного объекта с заданным именем. | DisplayObjectContainer | ||
Возвращает позицию индекса для экземпляра DisplayObject child. | DisplayObjectContainer | ||
Возвращает массив объектов, расположенных ниже указанной позиции и являющихся дочерними объектами любого уровня для данного экземпляра DisplayObjectContainer. | DisplayObjectContainer | ||
Возвращает прямоугольник, определяющий границу объекта отображения по системе координат, определенной параметром targetCoordinateSpace за исключением линий фигур. | DisplayObject | ||
Преобразует объект Point из координат рабочей области (глобальных) в координаты отображаемого объекта (локальные). | DisplayObject | ||
Преобразует двумерный объект Point из координат рабочей области (глобальных) в координаты экранного трехмерного объекта (локальные). | DisplayObject | ||
Проверяет, имеет ли объект EventDispatcher прослушиватели, зарегистрированные для определенного типа события. | EventDispatcher | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Вычисляет ограничительную рамку экранного объекта, чтобы определить, не перекрывает и не пересекает ли она ограничительную рамку экранного объекта obj. | DisplayObject | ||
Вычисляет экранный объект, чтобы определить, перекрывает ли он точку, заданную координатами x и y, или пересекает ее. | DisplayObject | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Преобразует трехмерный объект point из координат трехмерного экранного объекта (локальных) в двухмерный объект point с координатами рабочей области (глобальными). | DisplayObject | ||
Преобразует объект Point из координат экранного объекта (локальных) в координаты рабочей области (глобальные). | DisplayObject | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Удаляет заданный объект child DisplayObject из списка дочерних элементов экземпляра DisplayObjectContainer. | DisplayObjectContainer | ||
Удаляет дочерний DisplayObject из заданной позиции индекса в списке дочерних элементов DisplayObjectContainer. | DisplayObjectContainer | ||
Удаляет все дочерние экземпляры DisplayObject из списка дочерних элементов экземпляра DisplayObjectContainer. | DisplayObjectContainer | ||
Удаляет прослушиватель из объекта EventDispatcher. | EventDispatcher | ||
Вызывает виртуальную клавиатуру. | InteractiveObject | ||
Изменяет положение существующего дочернего элемента в DisplayObjectContainer. | DisplayObjectContainer | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Позволяет пользователю перетаскивать заданный спрайт (растровый графический объект, легко перемещаемый по экрану). | Sprite | ||
Позволяет перетаскивать указанный спрайт на устройстве с сенсорным экраном. | Sprite | ||
Рекурсивно останавливает выполнение временной шкалы всех фрагментов MovieClip, размещенных в корне этого объекта. | DisplayObjectContainer | ||
Завершает метод startDrag(). | Sprite | ||
Завершает выполнение метода startTouchDrag(), используется для устройств с сенсорным экраном. | Sprite | ||
Меняет местами (в порядке «от начала к концу») два заданных дочерних объекта. | DisplayObjectContainer | ||
Меняет местами (в порядке «от начала к концу») дочерние объекты, расположенные в двух заданных позициях индекса в списке дочерних элементов. | DisplayObjectContainer | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строковое представление заданного объекта. | Object | ||
Возвращает элементарное значение заданного объекта. | Object | ||
Проверяет, зарегистрирован ли прослушиватель события для указанного типа события с данным объектом EventDispatcher или любым его предшественником. | EventDispatcher |
buttonMode | свойство |
buttonMode:Boolean
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Задает режим кнопки данного спрайта. При значении true
этот спрайт ведет себя как кнопка, то есть запускает отображение курсора в виде руки, когда над ним проходит указатель, и может получать событие click
при нажатии клавиш Enter и «Пробел», когда спрайт находится в фокусе. Можно отменить отображение курсора в виде руки, задав свойству useHandCursor
значение false
, в этом случае будет отображаться указатель.
В целом, для создания кнопок лучше использовать класс SimpleButton, однако свойство buttonMode
можно использовать для придания спрайту некоторых функций кнопок. Чтобы включить спрайт в последовательность перехода посредством клавиши Tab, задайте свойству tabEnabled
(унаследованному от класса InteractiveObject и имеющему по умолчанию значение false
) значение true
. Кроме того, подумайте, должны ли дочерние элементы спрайта реагировать на пользовательский ввод. Большинство кнопок блокируют воздействие пользовательского ввода на дочерние объекты, так как это препятствует нормальному потоку событий. Чтобы отключить воздействие пользовательского ввода на дочерние объекты, необходимо задать свойству mouseChildren
(унаследованному от класса DisplayObjectContainer) значение false
.
Если свойство buttonMode
используется с классом MovieClip (подклассом класса Sprite), кнопка может получить дополнительные функции. Если включить кадры с подписями _up, _over и _down, проигрыватель Flash Player передает автоматические изменения состояния (функция, подобная возможностям фрагментов роликов, используемых в качестве кнопок, в предыдущих версиях ActionScript). Эти автоматические изменения состояния недоступны для спрайтов, так как у них нет временной шкалы и, следовательно, кадров для добавления подписей.
Реализация
public function get buttonMode():Boolean
public function set buttonMode(value:Boolean):void
Связанные элементы API
Пример ( Использование этого примера )
buttonMode
задается значение true
, а для другого — false
. Когда приложение компилируется и запускается, оба спрайта реагируют на события мыши, но только тот, для которого buttonMode
имеет значение true
, использует курсор в виде руки и включается в последовательность перехода посредством клавиши Tab.
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 | свойство |
dropTarget:DisplayObject
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Определяет экранный объект, над которым перетаскивается спрайт либо на котором спрайт был отпущен.
Реализация
public function get dropTarget():DisplayObject
Связанные элементы API
Пример ( Использование этого примера )
circle
и два спрайта target
. Метод startDrag()
вызывается для спрайта circle
, когда пользователь помещает курсор на спрайт и нажимает кнопку мыши, а метод stopDrag()
вызывается, когда пользователь отпускает кнопку мыши. Это позволяет пользователю перетащить спрайт. При отпускании кнопки мыши вызывается метод mouseRelease()
, который в свою очередь отслеживает name
объекта, dropTarget
, к которому пользователь перетащил спрайт 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 | свойство |
graphics:Graphics
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Задает объект Graphics, принадлежащий данному спрайту, в котором могут выполняться команды векторного рисования.
Реализация
public function get graphics():Graphics
Пример ( Использование этого примера )
circle
и используется его свойство graphics
для отрисовки круга с желтой заливкой (0xFFCC00).
import flash.display.Sprite; var circle:Sprite = new Sprite(); circle.graphics.beginFill(0xFFCC00); circle.graphics.drawCircle(40, 40, 40); addChild(circle);
hitArea | свойство |
hitArea:Sprite
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Определяет другой спрайт в качестве области щелчка для спрайта. Если свойство hitArea
не существует или ему задано значение null
или undefined
, то в качестве области щелчка используется сам спрайт. Значение свойства hitArea
может быть ссылкой на объект Sprite.
Свойство hitArea
можно изменить в любой момент; модифицированный спрайт немедленно начинает использовать новое поведение области щелчка. Спрайт, настроенный в качестве области щелчка не обязательно должен быть видимым; его графическая форма, оставаясь невидимой, все равно обнаруживается в качестве области щелчка.
Примечание. Необходимо задать значение false
свойству mouseEnabled
спрайта, настроенного в качестве области щелчка. В противном случае кнопка спрайта может не работать, так как спрайт, настроенный в качестве области щелчка, получает события пользовательского ввода вместо кнопки спрайта.
Реализация
public function get hitArea():Sprite
public function set hitArea(value:Sprite):void
Пример ( Использование этого примера )
circle
и спрайт square
. Спрайт square
является областью щелчка hitArea
для спрайтаcircle
. Поэтому когда пользователь нажимает на спрайт square
, спрайт circle
отправляет событие 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 | свойство |
soundTransform:flash.media:SoundTransform
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Управляет звуком в данном спрайте.
Примечание. Это свойство не затрагивает содержимое HTML объекта HTMLControl (в Adobe AIR).
Реализация
public function get soundTransform():flash.media:SoundTransform
public function set soundTransform(value:flash.media:SoundTransform):void
Связанные элементы API
Пример ( Использование этого примера )
container
, и в его список дочерних объектов добавляется объект Loader. Объект Loader загружает SWF-файл. Когда пользователь щелкает ссылку в текстовом поле tf
со значением true
, метод mute()
задает свойство volume
свойства soundTransform
спрайта 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 | свойство |
useHandCursor:Boolean
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 9, AIR 1.0 |
Логическое значение, определяющее, должен ли отображаться курсор в виде руки при наведении указателя мыши на спрайт, в котором свойство buttonMode
имеет значение true
. Свойство useHandCursor
по умолчанию имеет значение true
. Когда useHandCursor
имеет значение true
, курсор в виде руки, используемый для кнопок, появляется при наведении указателя на спрайт-кнопку. Если же useHandCursor
имеет значение false
, используется указатель «стрелка».
Свойство useHandCursor
можно изменить в любое время; модифицированный спрайт немедленно принимает новый вид курсора.
Примечание. Если во Flex или Flash Builder спрайт имеет дочерние спрайты, может потребоваться задание для свойства mouseChildren
значения false
. Например, если необходимо, чтобы курсор в виде руки отображался над элементом управления Flex <mx:Label>, задайте для свойств useHandCursor
и buttonMode
значение true
, а для свойства mouseChildren
значение false
.
Реализация
public function get useHandCursor():Boolean
public function set useHandCursor(value:Boolean):void
Связанные элементы API
Пример ( Использование этого примера )
buttonMode
обоих задается значение true
, однако для одного из них свойство useHandCursor
имеет значение true
, а для другого — false
. При компиляции и запуске приложения оба спрайта ведут себя как кнопки (включенные в последовательность перехода с помощью клавиши Tab), но только курсор в виде руки использует спрайт со свойством useHandCursor
в значении true
.
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 | () | Конструктор |
public function Sprite()
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Создает новый экземпляр Sprite. Создав экземпляр Sprite вызовите метод DisplayObjectContainer.addChild()
или DisplayObjectContainer.addChildAt()
, чтобы добавить Sprite в родительский объект DisplayObjectContainer.
startDrag | () | метод |
public function startDrag(lockCenter:Boolean = false, bounds:Rectangle = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Позволяет пользователю перетаскивать заданный спрайт (растровый графический объект, легко перемещаемый по экрану). Спрайт можно перетаскивать до явной остановки через вызов метода Sprite.stopDrag()
или до того, как можно будет перетаскивать другой спрайт. Одновременно можно перетаскивать только один спрайт.
Трехмерные объекты отображения управляются указателем, а метод Sprite.startDrag()
позволяет перемещать объект в трехмерной плоскости, определенной экранным объектом. Или, если экранный объект является двумерным объектом и дочерним элементом трехмерного объекта, двумерный объект перемещается в трехмерной плоскости, определенной трехмерным родительским объектом.
Параметры
lockCenter:Boolean (default = false ) — Определяет, фиксируется ли перетаскиваемый спрайт в центре положения указателя (true ) или в точке спрайта, на которой впервые щелкнул мышью пользователь (false ).
| |
bounds:Rectangle (default = null ) — Значение относительно координат родительского объекта Sprite, задающее для него закрепленный прямоугольник.
|
Связанные элементы API
Пример ( Использование этого примера )
circle
и два спрайта target
. Метод startDrag()
вызывается для спрайта circle
, когда пользователь помещает курсор на спрайт и нажимает кнопку мыши, а метод stopDrag()
вызывается, когда пользователь отпускает кнопку мыши. Это позволяет пользователю перетащить спрайт. При отпускании кнопки мыши вызывается метод mouseRelease()
, который в свою очередь отслеживает name
объекта, dropTarget
, к которому пользователь перетащил спрайт 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 | () | метод |
public function startTouchDrag(touchPointID:int, lockCenter:Boolean = false, bounds:Rectangle = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Позволяет перетаскивать указанный спрайт на устройстве с сенсорным экраном. Спрайт можно перетаскивать до явной остановки через вызов метода Sprite.stopTouchDrag()
или до того, как можно будет перетаскивать другой спрайт. Одновременно можно перетаскивать только один спрайт.
Трехмерные объекты отображения управляются указателем, а метод Sprite.stopTouchDrag()
позволяет перемещать объект в трехмерной плоскости, определенной экранным объектом. Или, если экранный объект является двумерным объектом и дочерним элементом трехмерного объекта, двумерный объект перемещается в трехмерной плоскости, определенной трехмерным родительским объектом.
Параметры
touchPointID:int — Целое число, которое необходимо назначить точке прикосновения.
| |
lockCenter:Boolean (default = false ) — Определяет, фиксируется ли перетаскиваемый спрайт в центре положения указателя (true ) или в точке спрайта, на которой впервые щелкнул мышью пользователь (false ).
| |
bounds:Rectangle (default = null ) — Значение относительно координат родительского объекта Sprite, задающее для него закрепленный прямоугольник.
|
Связанные элементы API
Пример ( Использование этого примера )
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 | () | метод |
public function stopDrag():void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 9, AIR 1.0, Flash Lite 4 |
Завершает метод startDrag()
. Спрайт, созданный перетаскиваемым с помощью метода startDrag()
, остается таковым до добавления метода stopDrag()
или до того, как другой спрайт станет перетаскиваемым. Одновременно можно перетаскивать только один спрайт.
Связанные элементы API
Пример ( Использование этого примера )
circle
и два спрайта target
. Метод startDrag()
вызывается для спрайта circle
, когда пользователь помещает курсор на спрайт и нажимает кнопку мыши, а метод stopDrag()
вызывается, когда пользователь отпускает кнопку мыши. Это позволяет пользователю перетащить спрайт. При отпускании кнопки мыши вызывается метод mouseRelease()
, который в свою очередь отслеживает name
объекта, dropTarget
, к которому пользователь перетащил спрайт 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 | () | метод |
public function stopTouchDrag(touchPointID:int):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Завершает выполнение метода startTouchDrag()
, используется для устройств с сенсорным экраном. Спрайт, сделанный перетаскиваемым с помощью метода startTouchDrag()
, остается таковым до добавления метода stopTouchDrag()
или до того, как другой спрайт станет перетаскиваемым. Одновременно можно перетаскивать только один спрайт.
Параметры
touchPointID:int — Целое число, назначенное точке прикосновения в методе startTouchDrag .
|
Связанные элементы API
Пример ( Использование этого примера )
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"); }
- Объявите свойство
size
(100 x 100 пикселей) и цвет фона (оранжевый) для дальнейшего использования при рисовании квадрата. - После этого конструктор создает новый объект Sprite
child
и использует его для добавления двух прослушивателей событий и связанных с ними методов:mouseDownHandler()
иmouseUpHandler()
. - Затем объект Sprite
child
передается методуdraw()
, который рисует оранжевый квадрат. - После этого дочерний объект помещается в список отображения через вызов метода
addChild()
. - Прослушиватели событий работают следующим образом.
mouseDownHandler()
: когда пользователь щелкает объект Sprite, этот метод добавляет прослушиватель события mouseMove, методmouseMoveHandler()
, обрабатывающий перемещение мыши. Затем вызывается методstartDrag()
, позволяющий перетаскивать объект Sprite.mouseUpHandler()
: когда кнопка мыши отпускается, прослушиватель события mouseMove удаляется и вызывается методstopDrag()
, фиксирующий оранжевый квадрат на месте.mouseMoveHandler
: пока удерживается левая кнопка мыши, этот метод предписывает проигрывателю непрерывное перерисовывание оранжевого квадрата.
Примечание. Каждый метод прослушивателя событий объявляет локальную переменную sprite
, которая назначается свойству target
события.
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, 11:34 AM Z