Apache Flex 4.16.1 API Reference | All Packages | All Classes | Index | Frames No Frames |
Scale3D

Package | spark.effects
Class | public class Scale3D
Inheritance | Scale3D AnimateTransform3D AnimateTransform Animate Effect flash.events.EventDispatcher

Language Version : | ActionScript 3.0

Product Version : | Flex 4

Runtime Versions : | Flash Player 10, AIR 1.5

The Scale3D class scales a target object in three dimensions around the transform center. A scale of 2.0 means the object is magnified by a factor of 2, and a scale of 0.5 means the object is reduced by a factor of 2. A scale value of 0.0 is invalid.

Like all AnimateTransform-based effects, this effect only works on subclasses of UIComponent and GraphicElement, as these effects depend on specific transform functions in those classes. Also, transform effects running in parallel on the same target run as a single effect instance Therefore, the transform effects share the transform center set by any of the contributing effects.

MXML Syntax Show MXML Syntax
Hide MXML Syntax

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

      <s:Scale3D
        Properties
        id="ID"
        scaleXBy="no default"
        scaleXFrom="no default"
        scaleXTo="no default"
        scaleYBy="no default"
        scaleYFrom="no default"
        scaleYTo="no default"
        scaleZBy="no default"
        scaleZFrom="no default"
        scaleZTo="no default"
      />

Default MXML Property `motionPaths`

View the examples

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | applyChangesPostLayout : Boolean [override] Used by the subclasses of AnimateTransform to specify whether the effect changes transform values used by the layout manager, or whether it changes values used after layout is run. | AnimateTransform3D
|  | applyLocalProjection : Boolean If true, the effect creates a perspective projection using the other projection-related properties in the effect and applies it to the target component's parent when it starts playing. | AnimateTransform3D
|  | autoCenterProjection : Boolean = true Set to false to disable a 3D effect from automatically setting the projection point to the center of the target. | AnimateTransform3D
|  | autoCenterTransform : Boolean = false Specifies whether the transform effect occurs around the center of the target, (width/2, height/2) when the effect begins playing. | AnimateTransform
|  | className : String [read-only] The name of the effect class, such as "Fade". | Effect
|  | customFilter : EffectTargetFilter Specifies a custom filter object, of type EffectTargetFilter, used by the effect to determine the targets on which to play the effect. | Effect
|  | disableLayout : Boolean If true, the effect disables layout on its targets' parent containers, setting the containers autoLayout property to false, and also disables any layout constraints on the target objects. | Animate
|  | duration : Number Duration of the effect in milliseconds. | Effect
|  | easer : IEaser The easing behavior for this effect. | Animate
|  | effectTargetHost : IEffectTargetHost A property that lets you access the target list-based control of a data effect. | Effect
|  | fieldOfView : Number Specifies an angle, in degrees between 0 and 180, for the field of view in three dimensions. | AnimateTransform3D
|  | filter : String Specifies an algorithm for filtering targets for an effect. | Effect
|  | focalLength : Number The distance between the eye or the viewpoint's origin (0,0,0) and the display object located in the z axis. | AnimateTransform3D
|  | hideFocusRing : Boolean Determines whether the effect should hide the focus ring when starting the effect. | Effect
|  | instanceClass : Class An object of type Class that specifies the effect instance class class for this effect class. | Effect
|  | interpolator : IInterpolator The interpolator used by this effect to calculate values between the start and end values of a property. | Animate
|  | isPlaying : Boolean [read-only] A read-only flag which is true if any instances of the effect are currently playing, and false if none are. | Effect
|  | perElementOffset : Number Additional delay, in milliseconds, for effect targets after the first target of the effect. | Effect
|  | playheadTime : Number Current time position of the effect. | Effect
|  | projectionX : Number = 0 Sets the projection point as the offset of the projection point in the x direction from the (0, 0) coordinate of the target. | AnimateTransform3D
|  | projectionY : Number = 0 Sets the projection point as the offset of the projection point in the y direction from the (0, 0) coordinate of the target. | AnimateTransform3D
|  | relevantProperties : Array An Array of property names to use when performing filtering. | Effect
|  | relevantStyles : Array An Array of style names to use when performing filtering. | Effect
|  | removeLocalProjectionWhenComplete : Boolean = false If true, the effect removes the perspective projection from the target component's parent when it completes playing. | AnimateTransform3D
|  | scaleXBy : Number The factor by which to scale the object in the x direction. | Scale3D
|  | scaleXFrom : Number The starting scale factor in the x direction. | Scale3D
|  | scaleXTo : Number The ending scale factor in the x direction. | Scale3D
|  | scaleYBy : Number The factor by which to scale the object in the y direction. | Scale3D
|  | scaleYFrom : Number The starting scale factor in the y direction. | Scale3D
|  | scaleYTo : Number The ending scale factor in the y direction. | Scale3D
|  | scaleZBy : Number The factor by which to scale the object in the z direction. | Scale3D
|  | scaleZFrom : Number The starting scale factor in the z direction. | Scale3D
|  | scaleZTo : Number The ending scale factor in the z direction. | Scale3D
|  | startDelay : int = 0 Amount of time, in milliseconds, to wait before starting the effect. | Effect
|  | target : Object The object to which this effect is applied. | Effect
|  | targets : Array An Array of objects that are targets for the effect. | Effect
|  | transformX : Number Sets the x coordinate for the transform center, unless overridden by the autoCenterTransform property. | AnimateTransform
|  | transformY : Number Sets the y coordinate for the transform center, unless overridden by the autoCenterTransform property. | AnimateTransform
|  | transformZ : Number Sets the z coordinate for the transform center, unless overridden by the autoCenterTransform property. | AnimateTransform
|  | triggerEvent : Event The Event object passed to this Effect by the EffectManager when an effect is triggered, or null if the effect is not being played by the EffectManager. | Effect

Protected Properties
Hide Inherited Protected Properties
Show Inherited Protected Properties

| Property | Defined By
--- | --- | ---
|  | applyTransitionEndProperties : Boolean This flag controls whether the effect, when run in a transition, automatically applies the property values according to the end state, as opposed to leaving values as set by the effect itself. | Effect
|  | endValuesCaptured : Boolean = false A flag containing true if the end values of an effect have already been determined, or false if they should be acquired from the current properties of the effect targets when the effect runs. | Effect

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | Scale3D(target:Object = null) Constructor. | Scale3D
|  | captureEndValues():void Captures the current values of the relevant properties on the effect's targets and saves them as end values. | Effect
|  | captureMoreStartValues(targets:Array):void Captures the current values of the relevant properties of an additional set of targets Flex uses this function when a data change effect is run. | Effect
|  | captureStartValues():void Captures the current values of the relevant properties on the effect's targets. | Effect
|  | createInstance(target:Object = null):IEffectInstance Creates a single effect instance and initializes it. | Effect
|  | createInstances(targets:Array = null):Array Takes an Array of target objects and invokes the createInstance() method on each target. | Effect
|  | deleteInstance(instance:IEffectInstance):void Removes event listeners from an instance and removes it from the list of instances. | Effect
|  | end(effectInstance:IEffectInstance = null):void Interrupts an effect that is currently playing, and jumps immediately to the end of the effect. | Effect
|  | getAffectedProperties():Array Returns an Array of Strings, where each String is the name of a property changed by this effect. | Effect
|  | pause():void Pauses the effect until you call the resume() method. | Effect
|  | play(targets:Array = null, playReversedFromEnd:Boolean = false):Array Begins playing the effect. | Effect
|  | resume():void Resumes the effect after it has been paused by a call to the pause() method. | Effect
|  | reverse():void Plays the effect in reverse, if the effect is currently playing, starting from the current position of the effect. | Effect
|  | stop():void Stops the effect, leaving the effect targets in their current state. | Effect

Protected Methods
Show Inherited Protected Methods
Show Inherited Protected Methods

| Method | Defined By
--- | --- | ---
|  | applyValueToTarget(target:Object, property:String, value:*, props:Object):void Used internally by the Effect infrastructure. | Effect
|  | effectEndHandler(event:EffectEvent):void Called when an effect instance has finished playing. | Effect
|  | effectStartHandler(event:EffectEvent):void This method is called when the effect instance starts playing. | Effect
|  | effectStopHandler(event:EffectEvent):void Called when an effect instance has stopped by a call to the stop() method. | Effect
|  | filterInstance(propChanges:Array, target:Object):Boolean Determines the logic for filtering out an effect instance. | Effect
|  | getValueFromTarget(target:Object, property:String):* Called by the captureStartValues() method to get the value of a property from the target. | Effect
|  | initInstance(instance:IEffectInstance):void Copies properties of the effect to the effect instance. | Effect

Events
Hide Inherited Events
Show Inherited Events

| Event | Summary | Defined By
--- | --- | --- | ---
|  | effectEnd | Dispatched when one of the effect's instances finishes playing, either when the instance finishes playing or when the effect is interrupted by a call to the end() method. | Effect
|  | effectRepeat | Dispatched when the effect begins a new repetition, for any effect that is repeated more than once. | Animate
|  | effectStart | Dispatched when the effect starts playing. | Effect
|  | effectStop | Dispatched when the effect has been stopped, which only occurs when the effect is interrupted by a call to the stop() method. | Effect
|  | effectUpdate | Dispatched every time the effect updates the target. | Animate

Property Detail

scaleXBy | property

`public var scaleXBy:Number`

Language Version : | ActionScript 3.0

Product Version : | Flex 4

Runtime Versions : | Flash Player 10, AIR 1.5

The factor by which to scale the object in the x direction. This is an optional parameter that can be used instead of one of the other from/to values to specify the delta to add to the from value or to derive the from value by subtracting from the to value.

scaleXFrom | property |

`public var scaleXFrom:Number`

Language Version : | ActionScript 3.0

Product Version : | Flex 4

Runtime Versions : | Flash Player 10, AIR 1.5

The starting scale factor in the x direction. A scale value of 0.0 is invalid.

scaleXTo | property |

`public var scaleXTo:Number`

Language Version : | ActionScript 3.0

Product Version : | Flex 4

Runtime Versions : | Flash Player 10, AIR 1.5

The ending scale factor in the x direction. A scale value of 0.0 is invalid.

scaleYBy | property |

`public var scaleYBy:Number`

Language Version : | ActionScript 3.0

Product Version : | Flex 4

Runtime Versions : | Flash Player 10, AIR 1.5

The factor by which to scale the object in the y direction. This is an optional parameter that can be used instead of one of the other from/to values to specify the delta to add to the from value or to derive the from value by subtracting from the to value.

scaleYFrom | property |

`public var scaleYFrom:Number`

Language Version : | ActionScript 3.0

Product Version : | Flex 4

Runtime Versions : | Flash Player 10, AIR 1.5

The starting scale factor in the y direction. A scale value of 0.0 is invalid.

scaleYTo | property |

`public var scaleYTo:Number`

Language Version : | ActionScript 3.0

Product Version : | Flex 4

Runtime Versions : | Flash Player 10, AIR 1.5

The ending scale factor in the y direction. A scale value of 0.0 is invalid.

scaleZBy | property |

`public var scaleZBy:Number`

Language Version : | ActionScript 3.0

Product Version : | Flex 4

Runtime Versions : | Flash Player 10, AIR 1.5

The factor by which to scale the object in the z direction. This is an optional parameter that can be used instead of one of the other from/to values to specify the delta to add to the from value or to derive the from value by subtracting from the to value.

scaleZFrom | property |

`public var scaleZFrom:Number`

Language Version : | ActionScript 3.0

Product Version : | Flex 4

Runtime Versions : | Flash Player 10, AIR 1.5

The starting scale factor in the z direction. A scale value of 0.0 is invalid.

scaleZTo | property |

`public var scaleZTo:Number`

Language Version : | ActionScript 3.0

Product Version : | Flex 4

Runtime Versions : | Flash Player 10, AIR 1.5

The ending scale factor in the z direction. A scale value of 0.0 is invalid.

Constructor Detail

Scale3D | () | Constructor

`public function Scale3D(target:Object = null)`

Language Version : | ActionScript 3.0

Product Version : | Flex 4

Runtime Versions : | Flash Player 10, AIR 1.5

Constructor.

Parameters

| `target:Object` (default = `null`)`` — The Object to animate with this effect.

Examples
Scale3DEffectExample.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:Scale3D 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:Scale3D id="atScale3D" target="{targetBox}" scaleXBy="-.25" repeatCount="2"
                repeatBehavior="reverse" effectStart="playButton.enabled=false"
                effectEnd="playButton.enabled=true;"/>
        </fx:Declarations>

        <s:Panel title="Scale3D Effect Example"
            width="75%" height="75%" >

            <mx:HBox width="100%" height="100%">
                <!-- Our target to affect-->
                <mx:VBox id="targetBox" width="50%"  horizontalAlign="center" paddingTop="5">
                    <mx:Image id="targetImg" source="@Embed(source='assets/c2.png')"/>
                </mx:VBox>
                <mx:VBox id="detailsBox" width="50%" left="0">
                    <mx:Text width="99%" color="blue"
                        text="The Scale3D effect changes the scale of a target using the following parameters: scaleXFrom, scaleXTo, scaleXBy, scaleYFrom, scaleYTo, scaleYBy, scaleZFrom, scaleZTo, scaleZBy. Click 'Scale3D' to watch the effect."/>
                </mx:VBox>
            </mx:HBox>

            <s:Rect left="0" right="0" bottom="0" height="30">
                <s:fill>
                    <s:LinearGradient rotation="90">
                        <s:GradientEntry color="0xE2E2E2" />
                        <s:GradientEntry color="0xD9D9D9" />
                    </s:LinearGradient>
                </s:fill>
            </s:Rect>
            <s:Button id="playButton"
                left="5" bottom="5"
                label="Scale3D" click="atScale3D.play();"/>
        </s:Panel>
    </s:Application>

Wed Nov 15 2017, 09:50 AM +01:00