Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Реализация анимации на js. (https://javascript.ru/forum/misc/75192-realizaciya-animacii-na-js.html)

Всемогущий 11.09.2018 17:27

Реализация анимации на js.
 
есть у меня изображение1 которое каждую секунду перемещается в canvas'е по изображению2, как это перемещение реализовать ? и приведите код пожалуйста... код не могу привести. Только бльшая просьба не приводите мне стили css и jguery. Просто обычный код js понятный всеми.

рони 11.09.2018 17:42

Всемогущий,
https://javascript.ru/forum/misc/743...tml#post488918

Всемогущий 11.09.2018 21:39

Можете дать пример кода где изображение будет перемещаться по изображению, как квадрат перемещаеться я и так знаю !

рони 11.09.2018 22:07

Всемогущий,
что мешает заменить квадрат на картинку
<!DOCTYPE html>

<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
    body {
    background: #232425;
    color: #ccc;
}
canvas {
    border: 1px solid #ccc;
}
    </style>

</head>

<body>
<canvas id = 'myCanvas' width = '500' height = '300'></canvas>
<div style="display:none;">
    <img id="source" src="https://mdn.mozillademos.org/files/5397/rhino.jpg" width="300" height="227">
    <img id="swamp" src="https://cdn.photocentra.ru/images/mobile31/314625_mobile.jpg" width="500" height="300">
</div>
<script>
var image = document.getElementById('source');
var fn = document.getElementById('swamp');
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
var n = 4;
var x = 0;
var y = 0;

function draw(x, y) {
       ctx.drawImage(image, x, y, 87, 104);
}
var a = 0;

function move() {
 var  b = false;
        switch (a) {
                case 0:
                        b = x > canvas.width - 87;
                        break;
                case 1:
                        b = y > canvas.height - 104;
                        break;
                case 2:
                        b = x < 4;
                        break;
                case 3:
                        b = y < 4;
                        break
        }
        if (b) {
                a = ++a % 4;
                a % 2 || (n = -n)
        }
        a % 2 ? y += n : x += n
}

function game() {
        ctx.clearRect(0, 0, canvas.width, canvas.height);
        ctx.drawImage(fn, 0, 0, 500, 300);
        draw(x, y);
        move();
        requestAnimationFrame(game)
}
game();
</script>
</body>
</html>

Всемогущий 12.09.2018 17:35

аааа багемот.... он сожрет жесть
Спасибо большое рони !!!! вы мне очень сильно помогли... !
ПРОСТО ПОВЕРИТЬ НЕ МОГУ ЧТО ОТВЕТИЛИ НА ЭТОТ ВОПРОС !!!!
я его задал на 3 разных сайтах и только тут ответили нормально и привели код !!!


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