{ "type": "class",
  "qname": "mx.effects.Parallel",
  "baseClassname": "org.apache.royale.effects.Parallel"
  ,
    "description": "The Parallel effect plays multiple child effects at the same time.  <p>You can create a Paralell effect in MXML, as the following example shows:</p>  <pre>\\n &lt;mx:Parallel id=&quot;WipeRightUp&quot;&gt;\\n &lt;mx:children&gt;\\n &lt;mx:WipeRight duration=&quot;1000&quot;/&gt;\\n &lt;mx:WipeUp duration=&quot;1000&quot;/&gt;\\n &lt;/mx:children&gt;\\n &lt;/mx:Parallel&gt;\\n \\n &lt;mx:VBox id=&quot;myBox&quot; hideEffect=&quot;{WipeRightUp}&quot; &gt;\\n &lt;mx:TextArea id=&quot;aTextArea&quot; text=&quot;hello&quot;/&gt;\\n &lt;/mx:VBox&gt;\\n </pre>  <p>Notice that the <code>&lt;mx:children&gt;</code> tag is optional.</p>  <p>Starting a Parallel effect in ActionScript is usually a five-step process:</p>  <ol> <li>Create instances of the effect objects to be composited together; for example: <pre>myFadeEffect = new mx.effects.Fade(target);</pre></li> <li>Set properties, such as <code>duration</code>, on the individual effect objects.</li> <li>Create an instance of the Parallel effect object; for example: <pre>myParallelEffect = new mx.effects.Parallel();</pre></li> <li>Call the <code>addChild()</code> method for each of the effect objects; for example: <pre>myParallelEffect.addChild(myFadeEffect);</pre></li> <li>Invoke the Parallel effect's <code>play()</code> method; for example: <pre>myParallelEffect.play();</pre></li> </ol>   <p>The &lt;mx:Parallel&gt; tag inherits all of the tag attributes of its superclass, and adds the following tag attributes:</p>  <pre>\\n &lt;mx:Parallel id=&quot;<i>identifier</i>&quot;&gt;\\n &lt;mx:children&gt;\\n &lt;!-- Specify child effect tags --&gt;\\n &lt;/mx:children&gt;\\n &lt;/mx:Parallel&gt;\\n </pre>",
  "tags": [
  {  "tagName": "includeExample",
         "values": ["examples/ParallelEffectExample.mxml"]},
      {  "tagName": "see",
         "values": ["mx.effects.effectClasses.ParallelInstance"]},
      {  "tagName": "playerversion",
         "values": ["Flash 9", "AIR 1.1"]},
      {  "tagName": "mxml",
         "values": []},
      {  "tagName": "productversion",
         "values": ["Flex 3"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "mx.effects.Parallel",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.  It is included only for consistency with other types of effects.",
        "tags": [
        {  "tagName": "param",
               "values": ["target This argument is ignored for Parallel effects."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": [{ "name": "target", "type": "Object"}]}
      ,
      { "type": "method",
        "qname": "end",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "void",
          "params": [{ "name": "effectInstance", "type": "mx.effects.IEffectInstance"}]}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "Boolean",
        "qname": "isPlaying",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "copy",
               "values": ["mx.effects.IEffect#isPlaying"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  }
