Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Прокрутка фона на canvas. (https://javascript.ru/forum/misc/57900-prokrutka-fona-na-canvas.html)

Dabonirc 07.08.2023 14:19

проблема для меня была в отсутствии фигурных скобок
непонятно зачем так делать
это ухудшает читаемость

спасибо!

Dabonirc 07.08.2023 14:33

еще просьба и вопрос

как думаешь можно ли такое сделать не на холсте, а двигая дивы через translate3d ?

где теоретически будет выше производительность?

рони 07.08.2023 14:33

Цитата:

Сообщение от Dabonirc
проблема для меня была в отсутствии фигурных скобок

Цитата:

Сообщение от рони
if (Math.abs(dir.vx) > img.width) dir.vx = 0;

Цитата:

Если используется только один оператор, то фигурные скобки можно опустить.
:-?

рони 07.08.2023 14:38

Цитата:

Сообщение от Dabonirc
как думаешь можно ли такое сделать не на холсте, а двигая дивы через translate3d ?

можно, и даже можно без js.
https://freefrontend.com/css-animated-backgrounds/

Dabonirc 07.08.2023 14:41

я делал через backgroundPosition и очень тормозило

сомневаюсь что можно сделать без js
потому что подобно задаче в этой ветке нужно двигать фон в зависимости от приходящего вектора сдвига

Dabonirc 07.08.2023 21:15

поясни назначение этих переменных:

var dir = {
    vx: 0,
    vy: 0,
    step: 2,
    x: 0,
    y: 0
};

рони 07.08.2023 21:29

Dabonirc,
var dir = {
    vx: 0,//текущий сдвиг по горизонтали
    vy: 0,//текущий сдвиг по вертикали
    step: 2,//скорость сдвига
    x: 0,// в какую сторону сдвигать по горизонтали
    y: 0// в какую сторону сдвигать по вертикали
};

Dabonirc 08.08.2023 14:51

благодаря тебе уменя всё получилось
смотри демку - https://dvadeshki.ru/d1g1

у меня два холста прокручиваются с разным запаздыванием и с наложением

для старта - энтер
для выхода - эскейп

Dabonirc 08.08.2023 15:24

но не во всех браузерах работает хорошо
в яндекс тормозит
и в фаерфоксе

voraa 08.08.2023 17:15

Цитата:

Сообщение от Dabonirc
и в фаерфоксе

Если в ФФ включить в настройках аппаратное ускорение, то гораздо лучше идет


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