Packagespark.effects.easing
Classpublic class Linear
InheritanceLinear Inheritance Object
Implements IEaser

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

The Linear class defines an easing with three phases: acceleration, uniform motion, and deceleration. As the animation starts it accelerates through the period specified by the easeInFraction property, it then uses uniform (linear) motion through the next phase, and finally decelerates until the end during the period specified by the easeOutFraction property.

The easing values for the three phases are calculated such that the behavior of constant acceleration, linear motion, and constant deceleration all occur within the specified duration of the animation.

Strict linear motion can be achieved by setting easeInFraction and easeOutFraction to 0.0. Note that if acceleration or deceleration are not 0.0, then the motion during the middle phase is not at the same speed as that of pure linear motion. The middle phase consists of uniform motion, but the speed of that motion is determined by the size of that phase relative to the overall animation.

MXML SyntaxexpandedHide MXML Syntax

The <s:Linear> tag inherits all of the tag attributes of its of its superclass, and adds the following tag attributes:

  <s:Linear
    id="ID"
    easeInFraction="0" 
    easeOutFraction="0"
   />
  

View the examples



Public Properties
 PropertyDefined By
  easeInFraction : Number
The fraction an animation spent accelerating, between 0.0 and 1.0.
Linear
  easeOutFraction : Number
The percentage an animation will spend decelerating, between 0.0 and 1.0.
Linear
Public Methods
 MethodDefined By
  
Linear(easeInFraction:Number = 0, easeOutFraction:Number = 0)
Constructor.
Linear
  
ease(fraction:Number):Number
Calculates the eased fraction value based on the easeInFraction and easeOutFraction properties.
Linear
Property Detail
easeInFractionproperty
easeInFraction:Number

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

The fraction an animation spent accelerating, between 0.0 and 1.0. The values of the easeOutFraction property and easeInFraction property must satisfy the equation easeOutFraction + easeInFraction <= 1 where any remaining time is spent in the linear motion phase.

The default value is 0.


Implementation
    public function get easeInFraction():Number
    public function set easeInFraction(value:Number):void
easeOutFractionproperty 
easeOutFraction:Number

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

The percentage an animation will spend decelerating, between 0.0 and 1.0. The values of the easeOutFraction property and easeInFraction property must satisfy the equation easeOutFraction + easeInFraction <= 1 where any remaining time is spent in the linear motion phase.

The default value is 0.


Implementation
    public function get easeOutFraction():Number
    public function set easeOutFraction(value:Number):void
Constructor Detail
Linear()Constructor
public function Linear(easeInFraction:Number = 0, easeOutFraction:Number = 0)

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

Constructor.

Parameters
easeInFraction:Number (default = 0) — The fraction of the overall duration in the acceleration phase, between 0.0 and 1.0.
 
easeOutFraction:Number (default = 0) — The fraction of the overall duration in the deceleration phase, between 0.0 and 1.0.
Method Detail
ease()method
public function ease(fraction:Number):Number

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

Calculates the eased fraction value based on the easeInFraction and easeOutFraction properties. If fraction is less than easeInFraction, it calculates a value based on accelerating up to the linear motion phase. If fraction is greater than easeInFraction and less than (1-easeOutFraction), it calculates a value based on the linear motion phase between the easing in and easing out phases. Otherwise, it calculates a value based on constant deceleration between the linear motion phase and 0.0.

Parameters

fraction:Number — The elapsed fraction of the animation, between 0.0 and 1.0..

Returns
Number — The eased fraction of the animation.
Examples
LinearEffectExample.mxml
<?xml version="1.0"?>
<!--

  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

-->
<!-- Simple example to demonstrate the s:Linear class. -->
<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>
        <s:Linear id="linearEasing"
            easeInFraction="0.3"/>
        <s:Elastic id="elasticEasing"/>
        <s:Move id="moveRight" 
            target="{myImage}"
            xBy="500"
            duration="2000"
            easer="{elasticEasing}"/>
        <s:Move id="moveLeft" 
            target="{myImage}"
            xBy="-500"
            duration="2000"
            easer="{linearEasing}"/>
    </fx:Declarations>

    <s:Panel id="examplePanel"
        title="Linear Effect Example"
        width="75%" height="75%">

        <!-- Directions -->
        <s:VGroup id="detailsBox" width="50%" top="5" left="5">
            <s:Label width="99%" color="blue"
                text="Click the buttons to watch the effect."/>
        </s:VGroup>

        <mx:Image id="myImage" top="20"
            source="@Embed(source='assets/logo.jpg')"/>

        <s:Button label="Move Right"
             bottom="10" left="5" 
            click="moveRight.end();moveRight.play();"/>

        <s:Button label="Move Left" 
            bottom="10" left="100" 
            click="moveLeft.end();moveLeft.play();"/>
    </s:Panel>
</s:Application>