document.addEventListener("DOMContentLoaded", function () {
const canvas = document.createElement("canvas");
canvas.style.position = "fixed";
canvas.style.top = "0";
canvas.style.left = "0";
canvas.style.pointerEvents = "none";
canvas.style.zIndex = "9999";
document.body.appendChild(canvas);
const ctx = canvas.getContext("2d");
let width = window.innerWidth + 100;
let height = window.innerHeight;
canvas.width = width;
canvas.height = height;
const flakes = [];
// Загружаем изображения для снежинок
const snowflakeImages = ["/sneg.png","/sneg2.png","/s1.png", "/s2.png", "/s3.png", "/s4.png"];
const snowflakes = [];
let img1 = new Image();
img1.src = snowflakeImages[0];
let img2 = new Image();
img2.src = snowflakeImages[1];
let img3 = new Image();
img3.src = snowflakeImages[2];
let img4 = new Image();
img4.src = snowflakeImages[3];
let img5 = new Image();
img5.src = snowflakeImages[4];
let img6 = new Image();
img6.src = snowflakeImages[5];
// Создаем снежинку с отклонением по горизонтали
function createFlake() {
const images = [img1, img2, img3, img4, img5, img6];
const randomImage = images[Math.floor(Math.random() * images.length)];
// Выбираем случайное изображение
return {
x: Math.random() * width,
y: Math.random() * height * 0.5, // Появление снежинок в верхней половине экрана
image: randomImage, // Присваиваем изображение
width: 33 + Math.random() * 13, // Ширина изображения снежинки
height: 33 + Math.random() * 13, // Высота изображения снежинки
speed: Math.random() * 2 + 0.5, // Скорость падения
direction: (Math.random() - 0.5) * 2, // Направление горизонтального отклонения (-1 до 1)
drift: Math.random() * 0.5 - 0.1, // Медленное горизонтальное отклонение со временем
};
}
// Рисуем снежинки
function drawFlakes() {
ctx.clearRect(0, 0, width, height); // Очистить экран
// Рисуем падающие снежинки
flakes.forEach((flake) => {
ctx.drawImage(flake.image, flake.x, flake.y, flake.width, flake.height);
});
}
// Двигаем снежинки с эффектом отскока от краев
function moveFlakes() {
flakes.forEach((flake, index) => {
flake.y += flake.speed; // Падение вниз
flake.x += flake.direction + flake.drift; // Горизонтальное отклонение
// Отскок при достижении левого или правого края экрана
if (flake.x < 0 || flake.x > width) {
flake.direction = -flake.direction; // Меняем направление на противоположное
// Плавное возвращение к центру экрана
flake.x = Math.min(Math.max(flake.x, 0), width);
}
// Если снежинка выходит за нижнюю границу экрана, перемещаем её обратно в верхнюю часть
if (flake.y > height) {
flake.y = -flake.height; // Переходит в верхнюю часть
flake.x = Math.random() * width; // Новая случайная позиция по горизонтали
}
});
// Добавляем новые снежинки, чтобы поддерживать их количество
while (flakes.length < 100) { // Поддерживаем количество снежинок
flakes.push(createFlake());
}
}
// Анимация
function loop() {
drawFlakes();
moveFlakes();
requestAnimationFrame(loop);
}
// Инициализация снежинок
for (let i = 0; i < 50; i++) {
flakes.push(createFlake());
}
// Адаптация к изменению размера окна
window.addEventListener("resize", () => {
width = window.innerWidth + 100;
height = window.innerHeight;
canvas.width = width;
canvas.height = height;
});
loop();
});
Haqqımızda
AZƏRBAYCAN DİLİNDƏ ƏN BÖYÜK KİNOARXİV
Azərbaycan dilində filmlərin toplandığı ən böyük sayta xoş gəlmisiniz! Hər gün yenilənən sayt Azərbaycan və dünya tammetrajlı bədii kinosunun (xronometrajı 48 dəqiqədən çox olan) təbliği ilə məşğuldur.
Buraya daxildir:
1. Azərbaycan dilində Azərbaycan tammetrajlı bədii kinosu;
- Kinofilmlər
- Videofilmlər
- Televiziya filmləri
- Televiziya tamaşaları
- Televiziya film-tamaşaları
- Həvəskar filmlər
2. Azərbaycan dilinə dublyaj edilmiş dünya tammetrajlı bədii kinosu;
- Kinofilmlər
- Videofilmlər
- Televiziya filmləri
Səhifələrdə və ya videolarda problem gördükdə xəbər verməyiniz xahiş olunur.
Filmlər Full HD (1080p) formatındadır.
Saytda 2425 film var.
Əlaqə və reklam üçün:
vusalaghayev@gmail.com
https://www.facebook.com/vusal.agayev.714