2015-10-02 6 views
0

Я добавил элемент холста внутри слайдера с использованием owlCarousel.js, и я хочу, чтобы анимация в холсте была сброшена каждый раз, когда слайдер переходит на новое изображение. Можно ли сделать это с помощью setTimeout? Благодарю.Сброс processing.js

Код:

var canvas = document.getElementById("c"); 
    var processing = new Processing(canvas, function(processing) { 
     processing.size(window.innerWidth, window.innerHeight); 
     processing.background(0xFFF); 

     var mouseIsPressed = false; 
     processing.mousePressed = function() { mouseIsPressed = true; }; 
     processing.mouseReleased = function() { mouseIsPressed = false; }; 

     var keyIsPressed = false; 
     processing.keyPressed = function() { keyIsPressed = true; }; 
     processing.keyReleased = function() { keyIsPressed = false; }; 

     function getImage(s) { 
      var url = "./imgs/" + s + ".png"; 
      processing.externals.sketch.imageCache.add(url); 
      return processing.loadImage(url); 
     } 

     with (processing) { 

     noStroke(); 
     var y = 700; 
     var y2 = 700; 
     var draw = function(){ 
      background(235,123,89); 
      var clouds = getImage("clouds"); 
      image(clouds, mouseX, 0); 
      image(clouds, mouseX + 800, 0); 
      var mountain = getImage("mountain2"); 
      image(mountain, 800, y); 
      var mountain1 = getImage("mountain1"); 
      image(mountain1, 700, y2); 
      y -= 10; 
      y2 -= 10; 
      if(y < 70){ 
       y += 10; 
      } if(y2 < 400){ 
       y2 += 10; 
      } 
     } 
    } 
     if (typeof draw !== 'undefined') processing.draw = draw; 
    }); 

ответ

0

Вам не нужно setTimeout() вообще. Просто создайте функцию reset(), которая возвращает все исходные значения. Затем вызовите эту функцию всякий раз, когда вы хотите сбросить анимацию.

Смежные вопросы