mmontenegro

20 Jan 2015

I decided to animate the letter “Y” because I have always found it very interesting. I find it interesting mostly because it looks like an arrow pointing at different directions. When looking at previous animation of this letter, I found some very cool ones, making me want to do one even more!

Given that I see this letter as an arrow, I decided to expand this idea by making an animation that would give the arrow a real direction.  During the development process, a friend saw my screen and thought the current state of my animation was cool. With this in mind, I saved the current state as a separate animation from my final one. This is why I am attaching two “Y” animations. The first one is just an initial state of the final one.

Y animation init
Initial State:

[iframe src=”http://www.anitype.com/entry/agtzfmFuaXR5cGVjb3IUCxIHbGV0dGVycxiAgIDA2ZafCgw/” width=”100%” height=”480″]

Final Animation:

[iframe src=”http://www.anitype.com/entry/agtzfmFuaXR5cGVjb3IUCxIHbGV0dGVycxiAgICAp9SSCgw/” width=”100%” height=”480″]

 

/**
 * Register your submission and choose a character
 * For more information check out the documentation
 * http://anitype.com/documentation
 */
Anitype.register('Y', {

  // Enter your name
  author: 'maria montenegro',

  // Enter a personal website, must have http
  website: 'http://www.Fusion-Sky.com/',

  // Make your animation here
  construct: function(two, points) {

    // Reference to instance
    var anitype = this;
    
    //Create my main lines
    var line_1 = two.makeLine(0,245,0,-50);
   
    //var line_2 = two.makeLine(0,115,0,-258);
    //var line_3 = two.makeLine(0,115,0,-258);
      
    //Create Vertices foreach line
    line_1.vertices[0].set(0,-445);     //245
    line_1.vertices[1].set(0,-650);    //-50
  
    //line_2.vertices[0].set(0,255);
    //line_2.vertices[1].set(0,-258);
    
    //line_3.vertices[0].set(0,255);
    //line_3.vertices[1].set(0,-258);
  
  // mini lines
   var line_2_1 = two.makeLine(0,115,0,-50);
   var line_2_2 = two.makeLine(0,115,0,-50);
   var line_2_3 = two.makeLine(0,115,0,-50);
    
    line_2_1.vertices[0].set(0,0);
    line_2_1.vertices[1].set(0,0);
    
    line_2_2.vertices[0].set(0,-250);
    line_2_2.vertices[1].set(0,-250);
    
    line_2_3.vertices[0].set(0,-250);
    line_2_3.vertices[1].set(0,-250);
    
   var line_3_1 = two.makeLine(0,115,0,-50);
   var line_3_2 = two.makeLine(0,115,0,-50);
   var line_3_3 = two.makeLine(0,115,0,-50);
    
    line_3_1.vertices[0].set(0,0);
    line_3_1.vertices[1].set(0,-150);
    
    line_3_2.vertices[0].set(0,-150);
    line_3_2.vertices[1].set(0,-250);
    
    line_3_3.vertices[0].set(0,-250);
    line_3_3.vertices[1].set(0,-250);
    
   //Create the animation via a tween
    function moveVert(vert, x1, x2, y1, y2,start,duration){
      anitype.addTween(vert, {
        to: { x: x1, y: y1 },
        easing: Anitype.Easing.Circular.Out,
        update: function() {
          anitype.addTween(vert, {
            to: {x: x2, y:y2},
            easing: Anitype.Easing.Elastic.Out,
            duration: duration,
            start: start
          });
        },
        duration: duration, // Value from 0 - 1
        start: start        // Value from 0 - 1
      });
    }
    
   moveVert(line_1.vertices[0],0,0,-45,245,0,1);
   moveVert(line_1.vertices[1],0,0,245,-50,0,1);
  
   //moveVert(line_2.vertices[0],0,0,255,115,.25,.5);
   //moveVert(line_2.vertices[1],0,-215,115,-258,.25,.5);
   //moveVert(line_3.vertices[0],0,0,255,115,.25,.5);
   //moveVert(line_3.vertices[1],0,215,115,-258,.25,.5);
    
    moveVert(line_2_1.vertices[1],0,-110,115,-187,.15,.3);
    moveVert(line_2_2.vertices[0],0,-110,0,-187,0,1);
    moveVert(line_2_2.vertices[1],-110,-154,-187,-264,.25,.5);
    moveVert(line_2_3.vertices[0],0,-154,0,-264,.5,1);
    moveVert(line_2_3.vertices[1],-154,-213,-264,-365,.7,1);
    
    moveVert(line_3_1.vertices[1],0,110,115,-187,.15,.3);
    moveVert(line_3_2.vertices[0],0,110,0,-187,0,1);
    moveVert(line_3_2.vertices[1],110,154,-187,-264,.25,.5);
    moveVert(line_3_3.vertices[0],0,154,0,-264,.5,1);
    moveVert(line_3_3.vertices[1],154,213,-264,-365,.7,1);
    
    
    return two.makeGroup(line_1,line_2_1,line_2_2,line_2_3, line_3_1,line_3_2,line_3_3);
  }

});