You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by pe...@apache.org on 2016/04/25 21:27:21 UTC

git commit: [flex-asjs] [refs/heads/develop] - Added Move effect to CreateJS framework and example.

Repository: flex-asjs
Updated Branches:
  refs/heads/develop 9a52f49f6 -> 8cb2031ac


Added Move effect to CreateJS framework and example.


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/8cb2031a
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/8cb2031a
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/8cb2031a

Branch: refs/heads/develop
Commit: 8cb2031ac069c57715dd48e0409038a497d87d11
Parents: 9a52f49
Author: Peter Ent <pe...@apache.org>
Authored: Mon Apr 25 15:27:12 2016 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Mon Apr 25 15:27:12 2016 -0400

----------------------------------------------------------------------
 .../CreateJSExample/src/CreateJSExample.mxml    |  16 +-
 .../CreateJS/src/main/flex/CreateJSClasses.as   |   1 +
 .../org/apache/flex/createjs/Application.as     |   3 +
 .../apache/flex/createjs/core/CreateJSBase.as   |   5 +
 .../flex/org/apache/flex/createjs/tween/Move.as | 149 +++++++++++++++++++
 .../src/main/resources/createjs-manifest.xml    |   1 +
 6 files changed, 174 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8cb2031a/examples/flexjs/CreateJSExample/src/CreateJSExample.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/CreateJSExample/src/CreateJSExample.mxml b/examples/flexjs/CreateJSExample/src/CreateJSExample.mxml
index f7c8768..a2a678c 100644
--- a/examples/flexjs/CreateJSExample/src/CreateJSExample.mxml
+++ b/examples/flexjs/CreateJSExample/src/CreateJSExample.mxml
@@ -21,16 +21,30 @@ limitations under the License.
                    xmlns:local="*"
                    xmlns:js="library://ns.apache.org/flexjs/basic" 
                    xmlns:cjs="library://ns.apache.org/flexjs/createjs"
+                   applicationComplete="runEffect()"
                    >
 
     <js:valuesImpl>
         <js:SimpleCSSValuesImpl />
     </js:valuesImpl>
     
+    <fx:Script>
+    	<![CDATA[
+    		import org.apache.flex.createjs.tween.Move;
+    		
+    		private function runEffect():void {
+    			var mover:Move = new Move(circle);
+    			mover.xTo = 400;
+    			mover.yTo = 400;
+    			mover.play();
+    		}
+    	]]>
+    </fx:Script>
+    
     <js:initialView>
         <cjs:View>
         
-			<cjs:Circle x="100" y="120" width="100" height="100">
+			<cjs:Circle id="circle" x="100" y="100" width="100" height="100">
 				<js:fill>
 					<js:SolidColor color="#26C9FF" />
 				</js:fill>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8cb2031a/frameworks/projects/CreateJS/src/main/flex/CreateJSClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/CreateJS/src/main/flex/CreateJSClasses.as b/frameworks/projects/CreateJS/src/main/flex/CreateJSClasses.as
index 816c665..a39aaee 100644
--- a/frameworks/projects/CreateJS/src/main/flex/CreateJSClasses.as
+++ b/frameworks/projects/CreateJS/src/main/flex/CreateJSClasses.as
@@ -30,6 +30,7 @@ internal class CreateJSClasses
 	import org.apache.flex.createjs.core.UIBase; UIBase;
 	import org.apache.flex.createjs.core.View; View;
 	import org.apache.flex.createjs.graphics.GraphicShape; GraphicShape;
+	import org.apache.flex.createjs.tween.Move; Move;
 }
 
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8cb2031a/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/Application.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/Application.as b/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/Application.as
index 46ca931..3ef4196 100644
--- a/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/Application.as
+++ b/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/Application.as
@@ -123,6 +123,7 @@ package org.apache.flex.createjs
          *
          * <inject_html>
          * <script src="https://code.createjs.com/easeljs-0.8.1.min.js"></script>
+		 * <script src="https://code.createjs.com/tweenjs-0.6.2.min.js"></script>
          * </inject_html>
          */
 		public function Application()
@@ -167,6 +168,8 @@ package org.apache.flex.createjs
             dispatchEvent('viewChanged');
             
             stage.update();
+			
+			dispatchEvent('applicationComplete');
         }
 		
 		/**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8cb2031a/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/core/CreateJSBase.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/core/CreateJSBase.as b/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/core/CreateJSBase.as
index d23359e..3f13292 100644
--- a/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/core/CreateJSBase.as
+++ b/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/core/CreateJSBase.as
@@ -33,6 +33,11 @@ package org.apache.flex.createjs.core
 		import org.apache.flex.core.graphics.SolidColor;
     }
 	
+	COMPILE::AS3
+	{
+		import org.apache.flex.core.UIBase;
+	}
+	
 	/**
 	 * This is the base class for CreateJS component wrappers used by FlexJS
 	 * applications. This class provides standard properties that most of the

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8cb2031a/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/tween/Move.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/tween/Move.as b/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/tween/Move.as
new file mode 100644
index 0000000..4644ab1
--- /dev/null
+++ b/frameworks/projects/CreateJS/src/main/flex/org/apache/flex/createjs/tween/Move.as
@@ -0,0 +1,149 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.createjs.tween
+{	
+	import org.apache.flex.events.EventDispatcher;
+	
+	import org.apache.flex.createjs.core.CreateJSBase;
+	
+	COMPILE::JS {
+		import createjs.Tween;
+		import createjs.Stage;
+		import createjs.Ease;
+		import createjs.Ticker;
+	}
+		
+    /**
+     * The Move effect animates an object from one place to another. Once the
+	 * target object is set, its starting position may be given (or its current
+	 * location will be used) and an ending position given, the play() function
+	 * is used to make the animation have effect. 
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+     */
+	public class Move extends EventDispatcher
+	{
+		/**
+		 * Constructor 
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+        public function Move(target:Object=null)
+		{
+			super();
+			
+			actualTarget = target;
+		}
+		
+		
+		private var _actualTarget:Object;
+		
+		/**
+		 *  @private
+		 *  The actual target.
+		 */
+		public function get actualTarget():Object
+		{
+			return _actualTarget;
+		}
+		public function set actualTarget(value:Object):void
+		{
+			_actualTarget = value;
+		}
+		
+		
+		/**
+		 *  Starting x value.  If NaN, the current x value is used 
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public var xFrom:Number;
+		
+		/**
+		 *  Ending x value.  If NaN, the current x value is not changed 
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public var xTo:Number;
+		
+		/**
+		 *  Starting y value.  If NaN, the current y value is used 
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public var yFrom:Number;
+		
+		/**
+		 *  Ending y value.  If NaN, the current y value is not changed 
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public var yTo:Number;
+		
+		COMPILE::JS
+		private var tween:createjs.Tween;
+		
+		/**
+		 *  Causes the target object to move between its starting and ending positions. 
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 *  @flexignorecoercion createjs.Shape
+		 *  @flexignorecoercion org.apache.flex.createjs.core.CreateJSBase
+		 */
+		public function play():void
+		{
+			COMPILE::JS {
+				var target:CreateJSBase = actualTarget as CreateJSBase;
+				var element:createjs.Shape = target.element as createjs.Shape;
+				tween = createjs.Tween.get(element, {loop: false});
+				
+				var options:Object = {x:xTo, y:yTo};
+				
+				if (!isNaN(xFrom)) target.x = xFrom;
+				if (!isNaN(yFrom)) target.y = yFrom;
+				
+				tween.to( options, 1000, createjs.Ease.getPowInOut(2));
+				
+				var stage:createjs.Stage = element.getStage();
+				createjs.Ticker.addEventListener("tick", stage);
+			}
+		}
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8cb2031a/frameworks/projects/CreateJS/src/main/resources/createjs-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/CreateJS/src/main/resources/createjs-manifest.xml b/frameworks/projects/CreateJS/src/main/resources/createjs-manifest.xml
index 5716695..ec1414f 100644
--- a/frameworks/projects/CreateJS/src/main/resources/createjs-manifest.xml
+++ b/frameworks/projects/CreateJS/src/main/resources/createjs-manifest.xml
@@ -29,5 +29,6 @@
     <component id="Label" class="org.apache.flex.createjs.Label"/>
     <component id="Circle" class="org.apache.flex.createjs.graphics.Circle" />
     <component id="Rect" class="org.apache.flex.createjs.graphics.Rect" />
+    <component id="Move" class="org.apache.flex.createjs.tween.Move" />
 
 </componentPackage>