Jump to content
Search Community

CraptainRob last won the day on April 28 2013

CraptainRob had the most liked content!

CraptainRob

Members
  • Posts

    10
  • Joined

  • Last visited

  • Days Won

    1

CraptainRob last won the day on April 28 2013

CraptainRob had the most liked content!

About CraptainRob

  • Birthday 03/02/1979

Profile Information

  • Location
    Chicago Area

CraptainRob's Achievements

3

Reputation

  1. The version of GSAP I'm using is in a frozen codebase so no preview is necessary this time. I'll just include the new version in the next project after there is a release. That suggested rounding solution is exactly what I did. Thanks.
  2. Hey there. I just had this little gem pop up and I'm wondering if this is expected behavior. If you tween to a very large value and use roundProps, it seems that the value eventually goes negative. Removing roundProps resolves this behavior. Note that manually rounding using Math.round does not do this. var obj = { setValue: function (value) { console.debug(value);}, getValue: function () {return 0;} } TweenLite.fromTo(obj, 5, {setValue: 0}, {setValue: 3750000000, roundProps: "setValue"});
  3. Hey there. I'm seeing some issues with timelines that happen to have a duration of zero in all versions past 1.10.3. So, for example 1.11.0 has the described problem. The example below works ok... var test = new TimelineMax(); test.add(function () { return console.log("ONE"); }); test.add("label"); test.add(function () { return console.log("TWO"); }); test.add("bork"); test.add(function () { return console.log("THREE"); }); Change it to this and it will no longer play anything added to the timeline in 1.11.0+... var test = new TimelineMax({paused: true}); test.add(function () { return console.log("ONE"); }); test.add("label"); test.add(function () { return console.log("TWO"); }); test.add("bork"); test.add(function () { return console.log("THREE"); }); test.play(0); Adding a duration like below resolves the issue... var test = new TimelineMax({paused: true}); test.add(function () { return console.log("ONE"); }); test.add("label"); test.add(function () { return console.log("TWO"); }); test.add("bork"); test.add(function () { return console.log("THREE"); }, "+=0.001"); test.play(0); Did I find a possible bug or just an invalid use case or something?
  4. Thanks again for fixing this. Do you know when there will be an official release with this fix?
  5. Thanks for looking into it. Just curious, did you manage to reproduce it?
  6. During my last upgrade it appears that a problem was introduced that's causing most of my timelines to not play any item added at zero time. It seems to only happen with a very specific set of circumstances, but that also happens to affect almost every timeline in my project. Here is a code example that will cause the problem... var test = new TimelineLite({ paused: true }); test.add(function () { return console.log("ONE"); }); test.add(function () { return console.log("TWO"); }, 1); test.add(function () { return console.log("THREE"); }); // FIRST PLAY WILL SKIP "ONE" TweenLite.delayedCall(4, function () { return test.play(0); }); // SECOND PLAY WILL NOT SKIP "ONE" TweenLite.delayedCall(6, function () { return test.play(0); }); The output you will see from the first delayedCall is... TWO THREE and then for the second delayedCall... ONE TWO THREE The last version that worked was 1.9.1 (I upgraded from 1.8.3 this morning). In 1.9.1 it will always show ONE on the first play. In versions 1.9.2 - 1.9.5 it fails to show ONE on either the first or second delayedCall. Starting with version 1.9.6 (which is labeled 1.9.5 btw) through the current 1.10.4 we see the current behavior of skipping ONE the first time and showing ONE the second time. In order for this to happen the timeline must be constructed as paused, must have a call with a time param (see TWO), and must be played after a delay. Thanks in advance for your help.
  7. I did get it to work by just making my tweens short and waiting using setTimeout. To get it to be reliable I had to wait at least an extra frame. I ended up waiting x time + 0.033s. After trying that for a while, I ended up putting all timelines into a factory so I can spy on the methods that create the timeline. Then I spied on TimelineMax.add and watched how the timeline was assembled then I tested each method called by a timeline separately. This way, I don't have to wait for any time to go by and it acts more like how a unit test should. Technically letting GSAP run is more of an integration test anyway. Thanks for the help.
  8. Greetings. A requirement for my current project is that it be unit tested. I'm using TimelineMax for a ton of game code and jasmine.js for unit tests. I've been unit testing by using jasmine's asynchronous tests and allowing timeline to just run normally, but this isn't ideal because it eats so much time. Have any of you found a better way?
×
×
  • Create New...