Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

0 Newbie

About reinierf

  • Rank
  1. I have the same problem, but only on iPad3. I tried both iOS 6 (6.1.3) and iOS 7 (7.1.1). In both cases a dramatic visual lag occurs. It looks like, during the tween, the canvas is not updated and at the end of the tween the canvas just jumps to the end situation of the tween. The problem does not occur on iPad4 (either iOS 6 or 7). See http://www.innerinterior.com/html/ or In both cases, a tween should occur on every tap/click. Both use the latest version of createjs. I don't set useRAF to false. I use the latest GSAP version. I've looked at http://forums.greensock.com/topic/6639-tweens-not-working-on-ios6/?p=24455#entry24455 but nothing in that post helped.
  2. When calling TweenLite.killDelayedCallsTo on a method of an object, all objects with the same prototype will have there delayed calls to that method killed. Cause: When no scope is bound to the method, the method is really the same function object shared by all instances of the prototype. So they will all be killed by 1 call. Solution: Bind your callbacks using .bind(this) or use a closure and place the bound function/closure in a variable. Then, later you can call TweenLite.killDelayedCallsTo on the bound callback. A second argument in TweenLite.killDelayedCallsTo for specifying scope would also be nice, just like with the onCompleteScope etc in TweenLite.to/.from. That would save us a lot of binding and storing functions, and would be in line with the other static TweenLite methods.
  3. Thanks for your quick response. Refunding was very kind of you. (Might not be necessary. If I can get what I want out of the CustomEase I will still gladly pay.) How does the CustomEase exactly use the Bezier points? Is the duration of the tween just divided into equal chunks (where each chunk takes 1/Nth of the duration for N+1 points) and does the tween reach the value for the point at the end of the chunk? If so, the builder could easily be mended. In the builder, just constrain the movement of the points to vertical movement and automatically place the points on their fixed horizontal position. As things stand now, I don't get the feel of what happens in the CustomEase.
  4. Hi, It seems that the Custom Ease Builder is kind of buggy. When I was trying to reproduce earlier settings by adding points and dragging until the values corresponded to my earlier values, I found out that the horizontal position of the Bezier points is irrelevant. The generated code is EXACTLY the same, even if the horizontal position of the points is totally different. Here are some screenshots: You can see the generated code is the same but the shape of the curve is not... So the builder is essentially useless to me in its current state. Which is a shame since I just bought a $50 club greensock membership for this feature... Best, Reinier
  5. Hi all, Here is an ease class that exactly replicates the Flash IDE classic tween easing (where you can enter a value in the range -100..100 for a timeline ease). A customer of mine wanted to be able to use the values he always worked with so I replicated the ease function used in the Flash IDE. Use it as you like. Create a file for the code and place it in com.greensock.easing. Usage example : TweenLite.to(mc, 2, {x:100, ease:ClassicEase.ease, easeParams:[50]}); This will tween the mc.x property to 100 with an classic tween ease of value 50. package com.greensock.easing { /** * Class containing ease function that replicates the classic tween ease of the flash IDE * Can be used by TweenLite/TweenMax etc * Usage example: * TweenLite.to(mc, 2, {x:100, ease:ClassicEase.ease, easeParams:[50]}); * @version 1.0 * @author Reinier Feijen */ public class ClassicEase { /** * Ease function that replicates the classic tween ease of the flash IDE * Can be used by TweenLite/TweenMax etc * @param t elapsed time of tween * @param b duration of tween * @param c min output value, at t=0 * @param d total offset (max output value minus b, at t=d) * @param v classic ease value in range [-100,100] where a value < 0 is easeIn and value > 0 is easeOut. Larger values are also valid! * @return output value in range [b..(b+c)] */ static public function ease(t:Number, b:Number, c:Number, d:Number, v:Number=0):Number { if (v >= 0) return b + c * (1 - Math.pow((1 - t/d), 1 + Math.abs(v / 100) )); return b + c * (Math.pow(t/d, 1 + Math.abs(v / 100) )); } } } Best, Reinier