Carl Posted August 25, 2021 Share Posted August 25, 2021 *** UPDATE 9/10/21 THIS PROMOTION HAS ENDED *** Hey All, I'm doing a test run of a special promotion for all Club GreenSock members (Green, Shockingly, and Business). If you've invested your money in the awesome bonus plugins and the ongoing support of the platform I'm happy to offer you 50% savings on Lifetime access to my comprehensive and extremely specialized GreenSock training available at www.CreativeCodingClub.com. For those that don't know, I've spent nearly a decade in these forums and 7 years working at GreenSock helping folks learn the ins-and-outs of the platform. The Creative Coding Club courses are in simplest terms a collection of all the tips and tricks I've learned throughout the years helping frontend developers excel at GreenSock animation and avoid common beginner pitfalls. Unlike typical "one and done" courses, the Creative Coding Club is a subscription-model that gives you access to 5 premium courses PLUS new lessons every week (over 120 now). If you've spent any time in the GreenSock docs or these forums you've probably encountered my videos and demos so I'm not going to bombard you with a hard sell... just a killer deal: 50% off a Lifetime Subscription to Creative Coding Club (exp 9/8/21) To get this deal you just have to send me a Personal Message (PM) through the GreenSock site requesting a coupon code. Once logged into the GreenSock site follow these instructions Once I receive your message I'll confirm your Club GreenSock membership status (by viewing your profile) and send you a coupon code. I'll do my best to get it to you quickly (within 2-12 hours), but understand I do sleep and work Please review the following before purchase: This promotion is being run by Creative Coding Club. GreenSock isn't involved with the selling, maintenance, or delivery of this training. I offer a 28-day 100% money back guarantee. Just send me a note requesting a refund and it's yours. This offer is only available to new Creative Coding Club students. This offer is only available to people with an active Club GreenSock membership. This offer is only available to 1 member of a Multi-Developer Club GreenSock account. Contact me for info on team plans. You must request your coupon prior to 9/8/21. Coupons must be used before 9/15/21. Let's keep this simple. If you're a Club GreenSock member and ready to commit to mastering the art of GreenSock animation through my Creative Coding Club courses and weekly lessons, send me a personal message (as outlined above) and I'll get you going. Carl *** UPDATE 9/10/21 THIS PROMOTION HAS ENDED *** Not a Club GreenSock member? Well, this is the best time to join Club GreenSock, gain access to the bonus plugins, AND grab this incredible deal on my training. Remember, to get 50% off my training you must be a Club GreenSock member prior to enrolling. If you're not a Club GreenSock member but still would like me to guide you on your training journey I have a little something for you too. Save 20% on 1 Year or Lifetime memberships to Creative Coding Club (exp 9/8/21) Visit creativeCodingClub.com Select 1 Year or Lifetime plan Use code: gsforums at checkout 7 Link to comment Share on other sites More sharing options...
Carl Posted August 26, 2021 Author Share Posted August 26, 2021 Hi Folks, I appreciate the interest in the promotion but a few people have reached out for the 50% off coupon who are not Club GreenSock members. If your status displays as "member" that means you only have a free GreenSock account which allows you to post in the forums. You are only a Club GreenSock member if you have paid for a membership and it is still active. Your profile page and hover card will both show your membership status as Simply Green, Shockingly Green, or Business Green with text or badge Hover card (mouse over your avatar) of Club GreenSock member Profile Page (click on your avatar) of Club GreenSock Member will show a badge If you send me a coupon request and I don't see your status as an active Club member I won't be able to supply a coupon. Based on the confusion, I have raised the non-member discount to 20% off with code: gsforums. Join CreativeCodingClub.com Hopefully this helps clear things up. Carl 2 Link to comment Share on other sites More sharing options...
Carl Posted September 6, 2021 Author Share Posted September 6, 2021 Just chucking a fun bonus here to bring a few more eyes to this fantastic deal. Last week I came across this tweet from @kenneyNL showing this interesting contraption that "controlled" an animation. I became instantly enamored with the playful animation. The synchronization with the "inputs" was so perfectly executed that I had to wonder if the device was real. I also loved the fact that the artwork was so incredibly simplistic (low detail) but conveyed so much emotion and life. With all those great attributes it was just screaming at me to be rebuilt using SVG and GSAP. I knew the rotations, color changes, face-reveal stuff would be dead-simple to animate and choreograph with GSAP, but I was very intrigued with the scattering of the little circles. Attempting the "random" scatter I needed random positioning and sizing of the circles around bob (my name for the character) but not behind him. There was no point generating circles that I couldn't see nor did I want to have 90% of circles bunched together off to one side. I decided I needed a "sort-of-circular" distribution of circles around bob. I'm an "avoid confusing math and trigonometry" at all costs type of programmer so I took an approach where I generated a bunch of circles with offset x positions and then used that offset in the transformOrigin and applied a rotation. The approach came this demo from one of my lessons that uses basic <div> elements. See the Pen Bapqwmy by snorkltv (@snorkltv) on CodePen Once I got the basic layout I needed to add some randomness and needed something that was easy to revise and test so I came up with a click-driven approach so I could rapidly test my code Click anywhere to generate the scatter See the Pen 4804b10ff391109de2d70517bf9913a3 by snorkltv (@snorkltv) on CodePen I was happy enough with the results so I re-wired the function to return a timeline that I could easily nest in my main animation sequence. Within no time I had things spinning around, changing colors and scattering circles. Finished Sequence See the Pen LYLRqPy by snorkltv (@snorkltv) on CodePen My approach of using offsets in a transformOrigin and then applying rotation works fine with DOM elements, but SVG is a bit of a pain. As you move and transform elements their transformOrigins need adjusting. Although I kind of got it how I wanted it, the code was a bit confusing and I knew I would have a tough time explaining it if I ever used this for a lesson. After messing with "the wrong and easy way" for a few hours failing to get the exact results I wanted I bit the bullet and pasted in some trig code and found it much easier to tweak to my liking. The scatter function basically has a loop that will: initially determine evenly spaced angles then offset that angle 5 to 15 degrees in a positive or negative direction then set the circle at that angle using a random radius within a certain range then scale them so that only a few are big The end result is that there's about 3 circles in each quadrant that aren't too close to each other. After the circles are all positioned an animation is added to a timeline that shrinks them and moves them randomly. Time break-down for complete project 1hr artwork prep 2hr scatter experiments 0.5 hours building out initial sequence 2hr additional tweaking and testing 0.5 convert scatter to trig-based approached 1hr more tweaking of everything Although I have to admit it did take more time than I initially thought, I had so much fun along the way. GreenSock's timelines make it so easy to get the exact choreography I wanted. GSDevTools was invaluable when it comes to testing each part. I love scrubbing slowly to see exactly how things are positioned and how they animate. Being that I'm always focusing on new lessons for my students every week it's rare that I animate something like this just for fun. I'd encourage you to find some fun small animation in the wild and try to replicate it. It's a fantastic way to learn and keep yourself fresh. If you have absolutely no idea how to build a javascript animation sequence like this check out my courses and my special deal above. My training is specifically designed to guide you through the best parts of the GSAP API and help you build fun stuff like this. Lastly, big thanks to KenneyNL for the inspiration. Check out his twitter profile and give him a follow. He creates loads of free game assets that look amazing. 5 Link to comment Share on other sites More sharing options...
GreenSock Posted September 6, 2021 Share Posted September 6, 2021 How fun, @Carl! Thanks for sharing the adventure (and results). Fantastic deal for Club GreenSock members to pounce on too. I hope lots of them take advantage of this! 1 Link to comment Share on other sites More sharing options...
Faz_kh Posted December 31, 2022 Share Posted December 31, 2022 On 8/25/2021 at 4:40 PM, Carl said: To get this deal you just have to send me a Personal Message (PM) through the GreenSock site requesting a coupon code. hi hope you are well how can i get the greenSock coupon code Link to comment Share on other sites More sharing options...
Carl Posted December 31, 2022 Author Share Posted December 31, 2022 Hi @Faz_kh Thanks for your interest in my courses. Unfortunately, this promotion was only for Club GreenSock members and it expired over a year ago. The good news is I currently have a public End of Year sale that offers tremendous value to everyone. You can unlock my entire course bundle for only $67 or just $2.95 a month. Below is a list of the over 200 lessons available. I'm confident there is no better value in any front-end training and I hope you find this favorable. Join Creative Coding Club Offer expires Jan 1 Carl GSAP 3 Express Welcome to the course Our Development Environment GSAP 3 Express Notes and Instructions GSAP Object: Tweens and Timelines Basic Tween from() and fromTo() Special Properties: Delay and Repeat Special Property: Ease Reading Ease Curves Special Property: Stagger Tween Control Why from() Tweens Glitch and Stop Working! Using the GSAP Documentation Why Timelines are Important Basic Timeline Intro Position Parameter Visualizer Basic Timeline Position Timeline Control and Labels Simple Rollover / Hover Effects Rollover / Hover Effects for Multiple Elements Constant Hover Pulse with Smooth Reset Project Setup Basic Animation Timeline Defaults GSDevTools Tweak Timing Remove Flash of Un-styled Content (FOUC) Typewriter Effect with TextPlugin Getting Started with SplitText SplitText Word by Word SplitText Line by Line Get Started with ScrollTrigger in 3 Easy Steps Percentage-Based Keyframes Percentage-Based Keyframes Part 2: Benefits, Downsides and Challenges Beyond the Basics Chapter Intro From Illustrator to Animation Getter-Setter Methods Smart Play-Pause-Restart Toggle Button Scrub Through an Animation with an HTML Input Slider Tween progress() of an Animation OOPS: Gotta Fix the Buttons Intro Callbacks Build a Timeline Visualizer with getChildren() killTweensOf() gsap.utils.wrap() gsap.registerEffect() CSSPlugin: Use clearProps to remove inline styles 3D Transforms Understanding GSAP's immediateRender Property Tweening function-based values Ease-based distribution of start times Using the weightedRandom() helper function Using the distribute() utility function Rubberbander Text Effect Staggered Staggers. What? 3D Text Rotator Repeat Values on Tween vs Stagger Object Using Callbacks in Staggers Staggered Staggers with No Gap Intro Linear Navigation with addPause() Non-Linear Navigation Using Labels Add a Pause to a Timeline for a Specific Amount of Time Nested Timelines Functions That Return Timelines tweenTo() and tweenFromTo() File Setup Animate Panel 1 Create a function to animate 3 panels Morph curve using AttrPlugin TItle Effects Generator Part 1 Title Effects Generator Part 2 Title Effects Generator Part 3: Wrap Up Refactoring Multiple Timelines Into a Single Tween Staggered Animations Variations on a Theme ScrollTrigger Express Welcome Get Started in 3 Easy Steps Scrub and Pin Pinning and pinSpacing Overview Pinning Deep Dive Pin Spacing Pinning Car Project Intro to Parallax Scrolling Aerial SVG Car Parallax ScrollTriggers for Multiple Sections Smooth Scrolling with Locomotive Scroll Prevent Scroll on Fullscreen Intro Back to Top Link: fastScrollEnd and toggleClass Change Nav Color on Scroll Change Nav Color on Scroll: Part 2 Responsive Scroll-Based Reading Progress Bar ScrollTo Plugin and ScrollTrigger (Animated Jump Links) ScrollTrigger Toggle Animations 4 Ways Responsive Scroll-Driven Line-by-Line Text Effect Part 1 Responsive Scroll-Driven Line-by-Line Text Part 2 Off-Screen Reset 3D Rolling Headers Slide-in Panels Layered Pinning Layered Pinning from Bottom SVG Mega Scroll and Follow Use ScrollTrigger Callbacks to Control HTML5 Video Scoll-Driven SVG Path Follower Part 1: File setup, Alternating Rows and ScrollTrigger Basics Part 2: Offscreen Reset Part 3: Mobile Layout SVG Animation with GreenSock Welcome! Course Status Updated 11/19 Animating the Guts of an SVG with GreenSock Style SVG with Attributes and CSS Exploring More Shapes and Line Styles with Boxy SVG SVG Path Element: Bezier Curve Commands SVG Groups and Applying Transforms SVG Text: Using Custom Fonts Understanding transformOrigin and svgOrigin Project: SVG Basic Banner SVG Strokes: linejoin, linecap, and miter-limit Avoiding Weird Glitches with Line Animations Don't Animate tspan Elements Character by Character Animations Part 1: Characters as Paths Character by Character Animation Part 2: Characters as Text SVG Text on Path SVG viewBox and viewport Understanding preserveAspectRatio: Putting Skinny Rectangles in Squares preserveAspectRatio Part 2: Recap and Examples Marching Ants: Intro to dasharray and dashoffset Drawing Animated Lines Using DrawSVG Plugin DrawSVG Mastery Adding Custom Split Points with Boxy SVG Recreating GreenSock.com Jelly Nav Introducing SVG Clip Paths Animating SVG Clip Paths Introducing SVG Masks Animating SVG Masks: Reveal and Hide Text SVG Masks: Spotlight Effect Clip and Mask: Feathered Colorize Effect Welcome to Programming SVG Building the Worst SVG Drawing App SVG Background Generator (blend modes, gradients, random start time) B-sides, Bonuses, and Oddities Laziest Response Slider Using repeatRefresh Responsive Full Screen Circle using CSS VMAX and Edge to Edge Text Curved motion using different eases for x and y Reveal dots while animation plays Constant Speed with Random Motion Directional Rotation Bug Race in a Single Tween Bug Race Complete: Jerk Level and Weighted Random Values Hacking Ease Curves Basic Animated Counter using Snap Plugin Customizable and Re-usable Counter Effect Auto-close open item // reverse current timeline Animated Snow using Interpolate Favorite Mask Effects Using Clip-Path in a Custom Effect for Multi-directional Wipes Hard Edge Gradient Animated Fill Mask-Up / Scale-Down Effect: Chevy Tahoe Ad Exploration Mask-Up / Scale Down Part 2: optimizations and registerEffect() Text Mask Effect Using Blend Modes 3D Card Flip Effect (double-sided) Interactive 3D Card Flip 3D Card Flip Basic Game Responsive Hover Nav Gallery with Burn-in Effect Image Comparison Tool with Draggable Gradient Filled Text on Scroll Intro to ScrambleText Plugin Staggered Text Effect with ScrambleText Creating distinct enter and leave animations with a single timeline Circular Distribution of Elements without much Math Ferris Wheel: Counter-rotation to keep spinning elements upright Interactive Peacock with Modern GreenSock Banner: Clean loops and custom end screens : Part 1 Callbacks Banner: Clean loops and custom end screens : Part 2 TweenTo() Multiline Text Mask Effect (overflow hidden) Part 1: Basic setup Multiline Text Mask Effect Part2: Responsive Using CSS Clamp for Responsive Text Sizing Zero-Duration Tweens and set() Zero-Duration Tweens Part 2: addPause() Gallery with AutoPlay Part 1: File Setup / Basic Functionality Gallery with Autoplay Part 2: Toggle Switch Breaking Free of the Timeline Mindset: Part 1 Breaking Free of the Timeline Mindset Part 2 Breaking Free of the Timeline Mindset Part 3 Creeping and Jumping Dots Physics Plugins Part 1: PhysicsProps Physics Plugins Part 2: Physics2D Rotating Input Dials (SVG) Challenge: Slime Conveyor Belt Solution: Slime Conveyor Belt Constant Loop with Return to Start Drop Down Descramble Part 1: Technical Exploration Drop Down Descramble Part 2: Building the Animation Animating background-size cover and contain Constant Loop with Return to Start: Part 2: Smart Reverse Staggered Bars Wipe Transition Ease-based distribution of start times GSAP 3 Express Free Trial Ad Zim Splat 3D Inverted Cube Spinner getRelativePosition() Spinner Demo One Line of Code Mega Demo Apply a CustomEase to a MotionPath Tween How I Built my CustomEase Visualizer Pixi Circulator Beta Pixi Sweet Corn Pixi Circles Top and Bottom Dynamic Text Effect Self Playing Dynamic Interactive Text Effect Special Eases SlowMo Overview In Your Face Effect Whirl-Around Text Effect RoughEase Overview Scary Flicker Shiver Configure an elastic ease Steps Ease for Spritesheet Animations CustomEase Quick Start Unlock all these lessons for only $67 (expires Jan 1) 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now