seaweed.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. var Seaweed = function(options) {
  2. var defaults = {
  3. speed: 3,
  4. fillColor: 'green',
  5. strokeColor: 'forest',
  6. position: pt(200, 400),
  7. nextpos: pt(200, 400),
  8. wavelen: 120,
  9. phase: 0,
  10. height: 300,
  11. colliders: [],
  12. minBound: 10,
  13. bumping: 0,
  14. };
  15. var e = $.extend({}, defaults, options);
  16. for(x in e) this[x] = e[x];
  17. this.type = 'Seaweed';
  18. }
  19. Seaweed.prototype.render = function(ctx) {
  20. var maxw = ctx.canvas.width;
  21. var cx, xy;
  22. ctx.save();
  23. // ctx.translate(0, 50);
  24. //
  25. // ctx.beginPath();
  26. //
  27. // ctx.moveTo(0, 0);
  28. //
  29. // cy = Math.sin(this.phase) * this.intensity;
  30. //
  31. // for(var i = 0; i * this.wavelen <= 1000; i+=2) {
  32. // //cy = 30;
  33. // ctx.quadraticCurveTo( cy, this.wavelen * i - (this.wavelen / 2), this.wavelen * (i), 0);
  34. // ctx.quadraticCurveTo(-cx, this.wavelen * i + (this.wavelen / 2), this.wavelen * (i + 1), 0);
  35. //
  36. //
  37. // }
  38. //
  39. //
  40. //
  41. // ctx.lineWidth = 3;
  42. //
  43. //
  44. // ctx.lineTo(1200, 0);
  45. // ctx.lineTo(1200, 1200);
  46. // ctx.lineTo(-200, 1200);
  47. // ctx.lineTo(-200, 0);
  48. //
  49. // ctx.closePath();
  50. //
  51. // ctx.fillStyle = "#aabbff";
  52. // ctx.fill();
  53. //
  54. // ctx.strokeStyle = '#112277';
  55. // ctx.stroke();
  56. ctx.restore();
  57. };
  58. Seaweed.prototype.frameMove = function(te) {
  59. // this.
  60. //console.log(te);
  61. // console.log(this.phase);
  62. this.phase += 0.8 * te;
  63. this.phase = this.phase % (Math.PI * 2);
  64. };