Javascript 通过函数(动画)重置每次重新迭代的画布笔划。怎样?

Javascript 通过函数(动画)重置每次重新迭代的画布笔划。怎样?,javascript,canvas,Javascript,Canvas,此时,这些线会永久地粘在一起,从而创建一个图形。我希望该行是drawm,每次通过setInterval()调用该函数时都重置,从而创建类似脑波涟漪的动画 以下是我当前的源代码: var rippleEffect = function(){ var co = []; for(var i=0; i<=5; i++){ var r = Math.floor(Math.random()*250); co.push(r); //each time through the loop thr

此时,这些线会永久地粘在一起,从而创建一个图形。我希望该行是drawm,每次通过setInterval()调用该函数时都重置,从而创建类似脑波涟漪的动画

以下是我当前的源代码:

var rippleEffect = function(){

var co = []; 

for(var i=0; i<=5; i++){
var r = Math.floor(Math.random()*250); 

co.push(r); 
//each time through the loop throws/pushes 6 random numbers to array 'co' for bezier curve.
}

  var canvas = document.getElementById('brainWave');
  var context = canvas.getContext('2d');

  context.beginPath();
  context.moveTo(500, 75);
  context.bezierCurveTo(co[0], co[1], co[2], co[3], co[4], co[5]);


  context.lineWidth = 2;

  // line color
  context.strokeStyle = '#444';

  context.stroke(); //exicute the stroke based on the structions we've provided. 




};

setInterval(ripple,100); //this re-calls the functions every few miller-seconds. 
var-rippleEffect=function(){
var co=[];

对于(var i=0;i我不太确定您试图做什么,但以下是对您的代码的一些观察:

  • 如果不希望图形彼此重叠,则clearRect是必不可少的

  • setInterval正在调用“ripple”,但它应该调用“rippleEffect”

  • var canvas和var context应该在rippleEffect之前拉到外部(它们只需要创建一次,而不是每次循环都创建一次)

  • 贝塞尔曲线的完全随机控制点产生的是意大利面,而不是脑波


祝您的项目好运:)

那么,您的代码中是否存在大量错误?很抱歉,当我键入源代码时,我调整了ripple名称,以便更具解释性,请回答。我将看看我可以如何处理您的信息,并将向您报告!好的,在又一天的试验和调整代码后,我找到了它。我需要创建一个单独的函数,用于这与主功能不一致,主功能每隔几毫秒清除一次线条。这将创建所需的内联线条之字形动画。