"Анимация" фон на холсте - PullRequest
1 голос
/ 05 марта 2012

Я пытался анимировать «фон» для проекта, который я делаю на холсте. Я использую RaphaelJS, и я делаю

function bg(){

    h = 0;

    var terra = paper.rect(0, 500 + h, 900, 100);
    terra.attr({'fill': '#00E639', 'stroke': 'none'});

    var troposfera = paper.rect(0, -100 + h, 900, 600);
    troposfera.attr({'fill': '#C0866D', 'stroke': 'none'});

    var estratosfera = paper.rect(0, -700 + h, 900, 600);
    estratosfera.attr({'fill': '#4497BF', 'stroke': 'none'});

    var ozono = paper.rect(0, -900 + h, 900, 600);
    ozono.attr({'fill': '#E8EAE9', 'stroke': 'none'});

    var mesosfera = paper.rect(0, -1500 + h, 900, 600);
    mesosfera.attr({'fill': '#434392', 'stroke': 'none'});

    var termosfera = paper.rect(0, -2100 + h, 900, 600);
    termosfera.attr({'fill': '#3A435A', 'stroke': 'none'});

    var exosfera = paper.rect(0, -2700 + h, 900, 300);
    exosfera.attr({'fill': '#000000', 'stroke': 'none'});
}

, а затем вызывать его с помощью setInterval как такового

var drbg = setInterval(function(){
    bg();
    h = h + 1;
}, 40);

Однако, это не работает. Он рисует фон, но затем не двигается вверх, как я хотел.

1 Ответ

1 голос
/ 05 марта 2012

, поскольку первая строка в bg() равна h=0;, которая сбрасывает h в 0 каждый раз, когда вы вызываете ее ...

, чтобы заставить ее работать, попробуйте переместить h=0; избг ()

...