Advertisement
Guest User

AL_Animation_edit

a guest
Jul 23rd, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.15 KB | None | 0 0
  1. //easing
  2. var ellipsedx;
  3. var ellipsedy;
  4. var ellipseXpos = 0;
  5. var ellipseYpos = 0;
  6. var easing;
  7.  
  8. //rotation
  9. var rectdx;
  10. var rectdy;
  11. var rectXpos = 0;
  12. var rectYpos = 0;
  13. var xspeed, yspeed;
  14. var rot, rotinc;
  15.  
  16. var fillWhite;
  17. var fillBlack;
  18.  
  19. var fillEllipse;
  20. var fillRect;
  21. var strokeEllipse;
  22. var strokeRect;
  23.  
  24. function setup() {
  25. createCanvas(windowWidth, windowHeight);
  26. easing = .25;
  27.  
  28. //rotation
  29. xspeed = (-10.0, 10.0);
  30. yspeed = (-10.0, 10.0);
  31.  
  32. rectXpos = random(25, width-25);
  33. rectYpos = random(25, height-25);
  34.  
  35. rot = random(TWO_PI);
  36. rotinc = random(-.5, .5);
  37.  
  38. fillWhite = color(255);
  39. fillBlack = color(0);
  40.  
  41. fillEllipse = color(255);
  42. fillRect = color(0);
  43. strokeEllipse = color(0)
  44. strokeRect = color(255);
  45. }
  46.  
  47. function draw() {
  48. //easing
  49. ellipsedx = mouseX - ellipseXpos;
  50. ellipseXpos += ellipsedx*easing;
  51. ellipsedy = mouseY - ellipseYpos;
  52. ellipseYpos += ellipsedy*easing;
  53.  
  54. fill(fillEllipse);
  55. stroke(strokeEllipse);
  56. ellipse(ellipseXpos, ellipseYpos, 100, 100);
  57.  
  58. //rotation
  59. rectXpos += xspeed;
  60. rectYpos += yspeed;
  61.  
  62. if(rectXpos > width-25 || rectXpos < 25) {
  63. xspeed *= -1;
  64. }
  65. if(rectYpos > height-25 || rectYpos < 25) {
  66. yspeed *= -1;
  67. }
  68.  
  69. fill(fillRect);
  70. stroke(strokeRect);
  71. rectMode(CENTER);
  72. translate(rectXpos, rectYpos);
  73. rotate(rot);
  74. rect(0, 0, 50, 50);
  75. translate(25, 25);
  76. rot += rotinc;
  77.  
  78. //ricochet
  79. if (dist(ellipseXpos, ellipseYpos, rectXpos, rectYpos) < 75) { //dist(ellipseXpos, ellipseYpos, rectXpos, rectYpos) < radius + length/2
  80. rectXpos -= xspeed;
  81. rectYpos -= yspeed;
  82. xspeed *= -1;
  83. yspeed *= -1;
  84. }
  85. }
  86.  
  87. function keyReleased() {
  88. if (keyCode === 66) { //press B
  89. background(fillBlack);
  90. fillEllipse = color(0);
  91. strokeEllipse = color(255)
  92. fillRect = color(255);
  93. strokeRect = color(0)
  94. easing = 1.0;
  95. rotinc = random(-2, 2);
  96. xspeed = (-5.0, 5.0);
  97. yspeed = (-5.0, 5.0);
  98. } else if (keyCode === 87) { //press W
  99. background(fillWhite);
  100. fillEllipse = color(255);
  101. strokeEllipse = color(0);
  102. fillRect = color(0);
  103. strokeRect = color(255)
  104. easing = .25;
  105. rotinc = random(-.5, .5);
  106. xspeed = (-10.0, 10.0);
  107. yspeed = (-10.0, 10.0);
  108. }
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement