Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Cоздание анимации на JS и Canvas (https://javascript.ru/forum/misc/17320-cozdanie-animacii-na-js-i-canvas.html)

Severtain 14.05.2011 18:23

Cоздание анимации на JS и Canvas
 
Не могу сделать анимацию.. вроде все правильно! Код полностью ниже:
подскажите почему не работает!?:-?

<canvas id="area" width="500" height="300">
</canvas>
<script type="text/javascript">
window.onload = function main(){
var img = new Image();
var img2;
var i=0; var j=0;
var a= new Array ('TxtLv01-01.png','TxtLv01-02.png','TxtLv01-03.png');

function main2(){
img2 = document.getElementById("ci").getContext("2d");

for (j=0;j<=2;j++)
{setTimeout(function(){ if (i==2) i=0;img.src = a[i]; img2.drawImage(img, 150, 150, 300, 300);
i++;
},10);

if (j==2) j=0;
}
}

main2();
}


</script>

monolithed 14.05.2011 18:26

Цитата:

Сообщение от Severtain
подскажите почему не работает!?

мы должны сами догадаться что вы делаете?

Severtain 14.05.2011 18:30

Кароче! Заношу одно изображение! а затем запускаю цикл с setTimeout в котором переставляю картинки ! Но дело в том, что если убрать цикл и счетчик, вручную он переставляет картинки.. а автоматизировать никак не могу! =(

Severtain 14.05.2011 18:49

все разобрался сам

monolithed 14.05.2011 20:31

как вариант:
<script type="text/javascript">
(function(i) {
      window.setInterval(
          function() {
              var element = document.getElementById('img');
                  images = ['http://png-2.findicons.com/files/icons/1982/social_me/48/google.png',
                            'http://png-5.findicons.com/files/icons/1982/social_me/48/twitter.png',
                            'http://png-4.findicons.com/files/icons/1982/social_me/48/facebook.png'],
              j = images.length;
              ++i < j ? element.src = images[i] : i = -1;
    }, 1500);
}(-1));
</script>

<img src="http://png-4.findicons.com/files/icons/1982/social_me/48/facebook.png" alt="" id="img" />

Severtain 14.05.2011 20:40

Анимацию получилось сделать! только вот теперь другая проблема!
Если делать через канвас то на одном изображении картинки меняються с одинаковым интервалом.. происходит разрыв кадров и естественное переодическое исчезновение)) XD


Часовой пояс GMT +3, время: 04:54.