Jump to content
Search Community

Carl last won the day on June 9

Carl had the most liked content!

Carl

Moderators
  • Posts

    9,838
  • Joined

  • Last visited

  • Days Won

    547

Everything posted by Carl

  1. i prefer not to get large email attachments. use a service like https://www.yousendit.com/ I would strongly suggest that you take your current file and strip it down to what you believe is the core suspect. remove all code except : var aaa:Array = new Array (motors.m1,motors.m2,motors.m3,motors.m4,motors.m5, motors.m6,motors.m7,motors.m8,motors.m9,motors.m10, motors.m11,motors.m12,motors.m13,motors.m14,motors.m15, motors.m16,motors.m17,motors.m18,motors.m19,motors.m20, motors.m21,motors.m22,motors.m23,motors.m24,motors.m25, motors.m26,motors.m27,motors.m28,motors.m29,motors.m30, motors.m31,motors.m32,motors.m33,motors.m34,motors.m35, motors.m36,motors.m37,motors.m38,motors.m39,motors.m40, motors.m41,motors.m42,motors.m43,motors.m44,motors.m45, motors.m46,motors.m47,motors.m48,motors.m49,motors.m50, motors.m51,motors.m52,motors.m53,motors.m54,motors.m55, motors.m56,motors.m57,motors.m58,motors.m59,motors.m60, motors.m61,motors.m62,motors.m63,motors.m64,motors.m65, motors.m66,motors.m67,motors.m68,motors.m69,motors.m70, motors.m71,motors.m72,motors.m73,motors.m74,motors.m75, motors.m76,motors.m77,motors.m78,motors.m79,motors.m80, motors.m81,motors.m82,motors.m83,motors.m84,motors.m85, motors.m86,motors.m87,motors.m88,motors.m89,motors.m90, motors.m91,motors.m92,motors.m93,motors.m94,motors.m95, motors.m96,motors.m97,motors.m98,motors.m99,motors.m100); var sea:TimelineMax = new TimelineMax(); sea.appendMultiple(TweenMax.allFrom(aaa, .5, {alpha:0,scaleX:0,scaleY:0,rotationY:35,ease:Back.easeOut},0.03),-1 ); of course leave the import statements. Remove everything but the motors movie from the stage. once you have that small file built and working, add more Movie Clips to motors. You will see that adding more Movie Clips is not a problem for TimelineMax. If you see a problem at this stage then it will be very easy for us to pinpoint the issue. If you don't see a problem start adding code and symbols back into this file and test regularly. You will surely find the problem. Carl
  2. just little tip if you want to save yourself the trouble of typing the name of every item into your array you can build the array like so: var aaa:Array = new Array(); for(var count:int = 1; count aaa.push(motors["m" + count]); }
  3. not that I know of (there could be a way) for what you are describing though a Sine.easeOut could work well as it is basically a linear tween for 60% of its duration and then a very subtle slow down at the end: see it in action here http://www.greensock.com/roughease/ i tried to programmatically change the ease of a tween with a delay and also by tweening a tween after its currentProgress reached a certain point and didn't get anything to work without a noticeable change in speed. Perhaps someone else has a solution Carl
  4. thanks Jack for jumping in. immediateRender totally escaped me.
  5. hello, first make sure you are using the latest version of the greensock engine. there have been some updates that deal with tweens of 0 second durations. don't know if those changes will effect your weirdness. your code looked pretty sound on first glance. I got this to do what you want: var timeline:TimelineMax = new TimelineMax() for (var i:Number = 1; i timeline.append(TweenMax.to(this["mc"+i], 0, {visible:false, delay:2})) } //i have 3 MovieClips on the stage mc1, mc2, mc3 the visible plugin automatically hides an object after its done tweening. really helpful. also if you have many objects tweening the same properties to the same values, check out TweenMax.allTo(). if you have all your objects in an array like var mcArray:Array = new Array(mc1, mc2, mc3, mc4, mc5) // you can also programmatically fill the array you could just do TweenMax.allTo(mcArray, 0, {visible:false}, .5); or if this sequence was part of a larger TimelineLite/Max... timeline.appendMultiple(TweenMax.allTo(mcArray, 0, {visible:false}, .5));
  6. with the textField selected go to the properties panel and make sure its anti-alias setting is "anti-alias for animation" not "anti-alias for readability" the smoothness of a tween has a lot to do with many factors such as: size of text distance it needs to move duration of tween framerate of fla perhaps if you post your file someone will look at it, at the very least you should provide your code. if you want to try placing your text inside a Movie Clip follow these instructions: http://flash.editme.com/ConvertToSymbol you can start with step 2 as you completed step 1 by creating your TextField.
  7. wow Jack that is super duper. I plugged it in and it did exactly what I wanted instantly. it makes things soooo much easier. tickled pink, Carl
  8. as for the jerkiness of the tween. 1200 pixels is quite a far distance to cover in only a fraction of a second. depending on your framerate there may not be a whole lot of opportunities for the item to render. unfortunately Flash doesn't handle moving large objects very well to boot. TweenLite isn't the issue here for sure. if it is just a basic rectangle cacheAsBitmap may speed things up. as for your timeline issue, the way you have it set up you should not need to manually add a delay. the tweens should play in succession one after the other. is there anything else in your code that is tweening those objects or effecting buildTimeline? can you post an fla that only exhibits this behavior?
  9. Now to make things more interesting. Let's say each VideoLoader has a variable amount of structured data associated it with it, like a series of links someone can click for "related info". I made my xml like this each VideoLoader node now has a child node. This doesn't break anything with LoaderMax and I have successfully been able to parse how many "endLinks" each loader has and all the attributes by traversing the XML tree and it works just dandy. Just curious if LoaderMax again does anything like detect if each Loader has any child nodes and stores that stuff in something like vars.xmlChildren. this is not a feature request or urgent matter. just thinking out loud. thanks Carl
  10. Perfect! huge help. this really saved me a ton of time and stress and works great. relieved, Carl
  11. i'm using loaderMax to load a series of videos. I can load them and play pause skip next prev... all that great the xml is like this (slightly simplified) I would like to associate some additional data with each video, to keep it simple let's just say a caption for each video: I tried doing this I'm using the activeTut's tutorial as a base, so I have an array called _videos which holds each VideoLoader. Does LoaderMax do something with these xml attributes that aren't VideoLoader properties when it is creating each loader? Is there a way to get the caption attribute / property of each loader without manually looping through or going back to the original xml? I read this post about the props() viewtopic.php?f=6&t=3947&p=15542&hilit=loaderMax+custom+variables#p15542 just wondering if there is something simpler that I'm not seeing thx
  12. you say the problem is that something called mc_animation won't start but you are putting a label in mc_animation and then telling timeline.gotoAndPlay("go"). it seems the label "go" isn't in timeline it seems you want mc_animation to gotoAndPlay("go"); assuming that you have a TimelineLite called timeline that needs to tell a MovieClip called mc_animation to play its frame labeled "go" when timeline is finished the following approach will work: import com.greensock.*; var timeline:TimelineLite = new TimelineLite({onComplete:mc_animation.gotoAndPlay, onCompleteParams:["go"]}); timeline.append(TweenLite.to(box, 1, {x:200})); timeline.append(TweenLite.to(box, 1, {y:300}));
  13. without seeing a working example I think the culprit lies in here: function navLeft(e:MouseEvent):void { vartheFirst:String = navArray.shift(); navArray.push(theFirst); trace(theFirst + " is shifted"); trace(navArray); tweenItLeft(); } function navRight(e:MouseEvent):void { var theLast:String = navArray.pop(); navArray.unshift(theLast); trace(theLast + " is popped."); trace(navArray); tweenItRight(); } you are pushing popping and shifting Strings in your navArray. I imagine something you are doing is putting a String value at navArray[0] I'd start there. best, Carl
  14. thanks for the update. i was just going to zip up a small sample for you. didn't know about the folder name being too long being an issue. will keep that in mind for the future. have fun with your new toys. greensock rules. Carl
  15. just to make sure: the fla is IN the same folder as the com folder the com folder contains the greensock folder the greensock folder is not empty if I had a nickel for everyone who said "my scripts are in the right place".... maybe try making a new fla in the same folder do you have the most recent version of the greensock files? some people have been known to use the old "gs" folder.
  16. Jerry, Thanks a bunch for sharing that. I will have to dig into the TweenProxy and TweenProxy3D stuff a bit. I have never used them, but they seem to be a good fit in this situation. Carl
  17. thanks for watching the tutorial. yeah, for that I manually set the reg point on bottom and positioned the element where they would look good. as far as the "slight translation"... what I've found with working with the 3D-ish stuff in flash is that you get drastically different results depending on where your object is in relation to the virtual camera. if you have an object laying down flat at rotx -90.... you may be looking UP at it if the camera is below it. unless the object is dead center to the virtual camera you are going to see some artifacts. Also as the object tweens... its transformation / skew / distortion whatever will be more enhanced the farther it is from the camera center.
  18. I have used this in the past for the 3D rotation from bottom effect var snorkl_stf:SplitTextField = new SplitTextField(snorkl_txt, "characters"); for(var i:Number = 0; i var currentLetter:TextField = snorkl_stf.textFields[i] TweenMax.from(currentLetter, .5, {transformAroundPoint:{point:new Point(currentLetter.x, currentLetter.y + (currentLetter.height*.8)), rotationX:-90}, alpha:0, ease:Linear.easeNone, delay:i*.5}) } I have found getting 80% of a textfield's height gives you a point right at the bottom of the character.
  19. i'm glad to hear you made progress. I'm sure it was tedious but you should feel good about finding a better approach.
  20. i don't know if this is the exact code from your file but there's a flaw in the slaw TweenMax.fromTo(_root[currentMC], .5, {ease:Strong.easeIn}, {_y:bottom}, {_y:mid}); TweenMax.fromTo(_root[nextMC], .8, {ease:Strong.easeIn}, {_y:mid}, {_y:top}); this is how you would do it: TweenMax.fromTo(_root[currentMC], .5, {_y:bottom}, {_y:mid, ease:Elastic.easeIn}); TweenMax.fromTo(_root[nextMC], .8, {_y:mid}, {_y:top, ease:Elastic.easeIn});
  21. i had to read the 4th paragraph 4 times very slowly... but it actually does make sense to me now knowing how the tweening platform's root timeline manages the various relative start times and such. nice job. the whole part about why it appeared to work if play was called first trips me up a bit, but don't worry about that. I'm sure it will sink in. thanks so much for the help and adjusting the platform to be more intuitive for us! Carl ps. i did not download the most recent greensock files and yet I can not get my original file with the append() then play() to get all funky. not even once. its like the issue fixed itself... very very strange.
  22. 2 seconds later... lol... try this. instead of having your onComplete:reset on the last tween put it on the timeline like this: var timeline = new TimelineMax({onComplete:reset}); this seems to make things work as expected. i'm still confused though.
  23. hmmm.. this is a real brain mangler. I changed the reset and goto functions to trace out the timeline's currentTime when reset is called it accurately traces out a currentLabel of "START" and a currentTime of 0. BUT then when goto is called it thinks currentLabel is backstage and currentTime is 1.2 ???? thanks for having those other traces in there. i don't know why this is happening. everything you have going on in the reset function doesn't seem to be affecting the final delayed goto() call. very strange. function reset() : void { timeline.currentProgress = 0; timeline.gotoAndStop("START"); trace("reset label = " + timeline.currentLabel + " time = " + timeline.currentTime); } function goto(label : String) : void { timeline.tweenFromTo(timeline.currentLabel, label); trace(timeline.currentLabel + " to " + label + " time " + timeline.currentTime); } it actually appears to very momentarily try to play START to middlestage but then it freaks out and does a backstage to middlestage. I wish I had an answer. Carl
  24. i traced out obj.x and obj.y and they are consistently showing intervals of 50 pixels. the only way to break this is if you click WHILE the timeline is playing as that will reset the start values thus impacting the end values such as if the obj is moving from 0 to 50 and click while its at 10... the end value will then be 60. are you double clicking or is something else triggering the timeline to reset/restart?
  25. i hope you see my answer above... i made it right after your most recent response. the reason your recent code is going down AND left is because in your down tween you are passing in the original x of objX. to keep things simple just tween the properties you need to change. tweenlite/max is very smart and won't tween anything unless you tell it to. you'll see in my most recent code the right tween only tweens the x and the down tween only tweens the y. welcome to the greensock world. you will have a lot of fun. Carl
×
×
  • Create New...