패키지 | spark.effects.animation |
클래스 | public class MotionPath |
상속 | MotionPath Object |
하위 클래스 | SimpleMotionPath |
언어 버전: | ActionScript 3.0 |
제품 버전: | Flex 4 |
런타임 버전: | Flash Player 10, AIR 1.5 |
The <s:MotionPath>
tag
inherits the tag attributes of its superclass,
and adds the following tag attributes:
<s:MotionPath id="ID" interpolator="NumberInterpolator" keyframes="val" property="val" />
기본 MXML 속성keyframes
기타 예제
관련 API 요소
속성 | 정의 주체 | ||
---|---|---|---|
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
interpolator : IInterpolator
The interpolator determines how in-between values in an animation
are calculated. | MotionPath | ||
keyframes : Vector.<Keyframe>
A sequence of Keyframe objects that represent the time/value pairs
that the property takes during the animation. | MotionPath | ||
property : String
The name of the property on the effect target to be animated. | MotionPath |
메서드 | 정의 주체 | ||
---|---|---|---|
MotionPath(property:String = null)
Constructor. | MotionPath | ||
Returns a copy of this MotionPath object, including copies
of each keyframe. | MotionPath | ||
Calculates and returns an interpolated value, given the elapsed
time fraction. | MotionPath | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object |
interpolator | 속성 |
public var interpolator:IInterpolator
언어 버전: | ActionScript 3.0 |
제품 버전: | Flex 4 |
런타임 버전: | Flash Player 10, AIR 1.5 |
The interpolator determines how in-between values in an animation are calculated. By default, the MotionPath class assumes that the values are of type Number and can calculate in-between Number values automatically. If the MotionPath class is given keyframes with non-Number values, or if the desired behavior should use a different approach to interpolation (such as per-channel color interpolation), then an interpolator should be supplied.
Flex supplies predefined interpolators in the spark.effects.interpolation package.
keyframes | 속성 |
public var keyframes:Vector.<Keyframe>
언어 버전: | ActionScript 3.0 |
제품 버전: | Flex 4 |
런타임 버전: | Flash Player 10, AIR 1.5 |
A sequence of Keyframe objects that represent the time/value pairs
that the property takes during the animation. Each successive
pair of keyframes controls the animation during the time interval
between them.
The optional easer
and valueBy
properties of the later keyframe are used to determine the behavior
during that interval. The sequence of keyframes must be sorted in
order of increasing time values.
Animations always start at time=0 and lasts for a duration
equal to the time
value in the final keyframe.
If no keyframe is defined at time=0,
that keyframe is implicit, using the value of the
target property at the time the animation begins.
Because keyframes explicitly define the times involved in an animation,
the duration for an effect using keyframes is set according to the maximum time
of the final keyframe of all MotionPaths in the effect.
For example, if an effect has keyframes
at times 0, 500, 1000, and 2000, then the effective duration of that
effect is 2000 ms, regardless of any duration
property set on the
effect itself.
Because the final keyframe determines the duration, there
must always be a final keyframe in any MotionPath. That is,
it is implicit that the time in the final keyframe is the
duration of the MotionPath.
Any keyframe may leave its value
undefined (either unset, set to
null
, or set to NaN
).
In that case, the value is determined dynamically when the animation starts.
Any undefined value is determined as follows:
- If it is the first keyframe, it is calculated from the next keyframe
if that keyframe has both a
value
andvalueBy
property set, as the difference of those values. Otherwise it gets the current value of the property from the target. - If it is the final keyframe and the animation is running in a transition, it uses the value in the destination view state of the transition.
- Otherwise, any keyframe calculates its
value
by using the previous keyframe'svalue
and adding the current keyframe'svalueBy
to it, ifvalueBy
is set.
관련 API 요소
property | 속성 |
public var property:String
언어 버전: | ActionScript 3.0 |
제품 버전: | Flex 4 |
런타임 버전: | Flash Player 10, AIR 1.5 |
The name of the property on the effect target to be animated.
MotionPath | () | 생성자 |
clone | () | 메서드 |
public function clone():MotionPath
언어 버전: | ActionScript 3.0 |
제품 버전: | Flex 4 |
런타임 버전: | Flash Player 10, AIR 1.5 |
Returns a copy of this MotionPath object, including copies of each keyframe.
반환값MotionPath — A copy of this MotionPath object, including copies
of each keyframe.
|
getValue | () | 메서드 |
public function getValue(fraction:Number):Object
언어 버전: | ActionScript 3.0 |
제품 버전: | Flex 4 |
런타임 버전: | Flash Player 10, AIR 1.5 |
Calculates and returns an interpolated value, given the elapsed time fraction. The function determines the keyframe interval that the fraction falls within and then interpolates within that interval between the values of the bounding keyframes on that interval.
매개 변수
fraction:Number — The fraction of the overall duration of the effect,
(a value from 0.0 to 1.0).
|
Object — The interpolated value.
|
<?xml version="1.0"?> <!-- Simple example to demonstrate the s:Keyframe and s:MotionPath classes. --> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:s="library://ns.adobe.com/flex/spark"> <fx:Declarations> <fx:Vector id="kf" type="spark.effects.animation.MotionPath"> <s:MotionPath property="scaleX"> <s:Keyframe time="250" value="0.5"/> <s:Keyframe time="500" value="1.0"/> <s:Keyframe time="750" value="0.5"/> <s:Keyframe time="1000" value="1.0"/> <s:Keyframe time="1250" value="0.5"/> <s:Keyframe time="1500" value="1.0"/> </s:MotionPath> <s:MotionPath property="scaleY"> <s:Keyframe time="250" value="0.5"/> <s:Keyframe time="500" value="1.0"/> <s:Keyframe time="750" value="0.5"/> <s:Keyframe time="1000" value="1.0"/> <s:Keyframe time="1250" value="0.5"/> <s:Keyframe time="1500" value="1.0"/> </s:MotionPath> </fx:Vector> <s:Animate id="shrinkEffect" motionPaths="{kf}" target="{myImage}"/> </fx:Declarations> <s:Panel id="examplePanel" title="Keyframe and MotionPath Effect Example" width="75%" height="75%"> <s:layout> <s:VerticalLayout paddingTop="10" paddingLeft="10"/> </s:layout> <!-- Directions --> <s:VGroup id="detailsBox" width="50%" left="0"> <s:Label width="99%" color="blue" text="Click the Adobe logo to watch the effect."/> </s:VGroup> <mx:Image id="myImage" source="@Embed(source='assets/logo.jpg')" click="shrinkEffect.end();shrinkEffect.play();"/> </s:Panel> </s:Application>
Tue Jun 12 2018, 03:17 PM Z