Главная / Action Script 3
Пакетfl.ik
Классpublic class IKMover
НаследованиеIKMover Inheritance EventDispatcher Inheritance Object

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Класс IKMover инициирует и контролирует движение каркаса с обратной кинематикой (IK). Воспользуйтесь классом IKMover, чтобы переместить объект IKJoint в конечное положение, если объект IKMover не определяет, что оно недостижимо из-за принятых для IKArmature ограничений; или если движение превышает установленные значения timeLimit, iterationLimit или distanceLimit.

См. также

IKArmature
Обзор анимации каркасов IK
Инициация объекта IKMover и ограничение его движения


Общедоступные свойства
 СвойствоОпределено
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
  distanceLimit : Number
Максимальное расстояние движения (в пикселах), учитываемое модулем обратной кинематики при каждом повторении.
IKMover
  iterationLimit : int
Указывает максимальное число повторений, выполняемых модулем обратной кинематики для каждого движения.
IKMover
  limitByDistance : Boolean
Указывает, завершает ли модуль обратной кинематики движение после превышения значения distanceLimit.
IKMover
  limitByIteration : Boolean
Указывает, завершает ли модуль обратной кинематики движение после превышения значения iterationLimit.
IKMover
  limitByTime : Boolean
Указывает, завершает ли модуль обратной кинематики движение по истечении указанного в параметре timeLimit срока.
IKMover
 Inheritedprototype : Object
[статические] Ссылка на модель объекта класса или функции.
Object
  stepCount : int
[только для чтения] Число повторений движения с обратной кинематикой.
IKMover
  timeLimit : int
Указывает максимальное время (в миллисекундах), уходящее у модуля обратной кинематики на выполнение движения.
IKMover
Общедоступные методы
 МетодОпределено
  
IKMover(endEffector:IKJoint, targetIn:Point)
Конструктор для объекта IKMover.
IKMover
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события в объекте EventDispatcher, в результате чего прослушиватель будет получать уведомления о событиях.
EventDispatcher
 Inherited
Передает событие в поток событий.
EventDispatcher
 Inherited
Проверяет наличие у объекта EventDispatcher прослушивателей событий, которые зарегистрированы для получения уведомлений о событиях определенного типа.
EventDispatcher
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
  
moveTo(targetIn:Point):*
Перемещает связанный объект IKJoint в конечную точку, обновляя все относящиеся к ней объекты IKJoint с учетом ограничений обратной кинематики.
IKMover
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Удаляет прослушиватель из объекта EventDispatcher.
EventDispatcher
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
 Inherited
Проверяет, зарегистрирован ли прослушиватель событий в объекте EventDispatcher или в любом из его предков для получения уведомлений о событиях определенного типа.
EventDispatcher
События
 Событие Сводка Определено
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player перемещается в фокус операционной системы и становится активным.EventDispatcher
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player покидает фокус операционной системы и становится неактивным.EventDispatcher
Сведения о свойстве
distanceLimitсвойство
distanceLimit:Number  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Максимальное расстояние движения (в пикселах), учитываемое модулем обратной кинематики при каждом повторении. Расстояние рассчитывается в евклидовых координатах:

sqrt(dx*dx + dy*dy)



Реализация
    public function get distanceLimit():Number
    public function set distanceLimit(value:Number):void

См. также

iterationLimitсвойство 
iterationLimit:int  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Указывает максимальное число повторений, выполняемых модулем обратной кинематики для каждого движения. Свойству limitByIteration должно быть присвоено значение true, чтобы можно было воспользоваться значением iterationLimit. Если свойству limitByIteration присвоено значение true, модуль обратной кинематики выполняет указанное количество повторений или работает до тех пор, пока объект IKJoint не достигнет конечного положения. Если свойству limitByIteration присвоено значение false, модуль обратной кинематики игнорирует значение iterationLimit и пытается перемещать объект IKArmature до тех пор, пока IKJoint не достигнет конечного положения (или пока модуль обратной кинематики не определит, что узлы не двигаются из-за ограничений, заданных для движения объекта IKArmature).



Реализация
    public function get iterationLimit():int
    public function set iterationLimit(value:int):void

См. также

limitByDistanceсвойство 
limitByDistance:Boolean  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Указывает, завершает ли модуль обратной кинематики движение после превышения значения distanceLimit.



Реализация
    public function get limitByDistance():Boolean
    public function set limitByDistance(value:Boolean):void

См. также

limitByIterationсвойство 
limitByIteration:Boolean  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Указывает, завершает ли модуль обратной кинематики движение после превышения значения iterationLimit.



Реализация
    public function get limitByIteration():Boolean
    public function set limitByIteration(value:Boolean):void

См. также

limitByTimeсвойство 
limitByTime:Boolean  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Указывает, завершает ли модуль обратной кинематики движение по истечении указанного в параметре timeLimit срока.



Реализация
    public function get limitByTime():Boolean
    public function set limitByTime(value:Boolean):void

См. также

stepCountсвойство 
stepCount:int  [только для чтения]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Число повторений движения с обратной кинематикой.



Реализация
    public function get stepCount():int
timeLimitсвойство 
timeLimit:int  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Указывает максимальное время (в миллисекундах), уходящее у модуля обратной кинематики на выполнение движения. Свойству limitByTime должно быть присвоено значение true, чтобы можно было воспользоваться значением timeLimit. Если свойству limitByTime присвоено значение true, модуль обратной кинематики работает в течение указанного количества миллисекунд до тех пор, пока объект IKJoint не достигнет конечного положения. Если свойству limitByTime присвоено значение false, модуль обратной кинематики игнорирует значение timeLimit и пытается перемещать объект IKArmature до тех пор, пока IKJoint не достигнет конечного положения (или пока модуль обратной кинематики не определит, что узлы не двигаются из-за ограничений, заданных для движения объекта IKArmature).



Реализация
    public function get timeLimit():int
    public function set timeLimit(value:int):void

См. также

Сведения о конструкторе
IKMover()Конструктор
public function IKMover(endEffector:IKJoint, targetIn:Point)

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Конструктор для объекта IKMover. В случае объектов фигур IKArmature параметр точки targetIn игнорируется функцией конструктора.

Параметры
endEffector:IKJoint — Перемещаемый объект IKJoint.
 
targetIn:Point — Начальные координаты движения. Это положение напоминает точку в рабочей области средства разработки Flash, где можно нажать на символ, принадлежащий объекту IKArmature (и не обязательно находящийся в месте соединения), переместить этот символ, а затем переместить объект IKArmature в соответствии с ограничениями, установленными для объекта IKArmature.

Допустим, например, что имеется нога и ступня, а движение ступни должно начинаться с большого пальца ноги. Если указать точку targetIn на большом пальце ступни, ее можно перемещать с этой точки. В противном случае необходимо было бы создать символ на большом пальце ноги, чтобы связать его с костью перед тем, как начать двигать ступню.

Сведения о методе
moveTo()метод
public function moveTo(targetIn:Point):*

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Перемещает связанный объект IKJoint в конечную точку, обновляя все относящиеся к ней объекты IKJoint с учетом ограничений обратной кинематики. Объект IKMover перемещает объект IKJoint в конечное положение, если объект IKMover не определяет, что оно недостижимо из-за принятых для IKArmature ограничений; или если движение превышает установленные значения timeLimit, iterationLimit или distanceLimit.

Параметры

targetIn:Point — Координата точки назначения

Возвращает
*