Spaces:
Running
Running
File size: 3,663 Bytes
0dae64d fb2810b 3e44b29 fb2810b 3e44b29 fb2810b 0dae64d fb2810b 0dae64d fb2810b 0dae64d 3e44b29 0dae64d fb2810b 0dae64d fb2810b 0dae64d fb2810b 0dae64d 8bec3c1 0dae64d 8bec3c1 0dae64d 8bec3c1 3e44b29 8bec3c1 0dae64d 8bec3c1 0dae64d 8bec3c1 3e44b29 8bec3c1 3e44b29 8bec3c1 3e44b29 8bec3c1 0dae64d fb2810b 0dae64d cd457da 3e44b29 0dae64d 3e44b29 fb2810b 0dae64d 3e44b29 0dae64d cd457da 0dae64d fb2810b 3e44b29 cd457da fb2810b 0dae64d cd457da 0dae64d 3e44b29 879e4b1 3f5d5fb |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
// Космический фон на Canvas
const canvas = document.getElementById('cosmo-canvas');
const ctx = canvas.getContext('2d');
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
const particles = [];
for (let i = 0; i < 250; i++) {
particles.push({
x: Math.random() * canvas.width,
y: Math.random() * canvas.height,
radius: Math.random() * 5 + 1,
speedX: Math.random() * 1 - 0.5,
speedY: Math.random() * 1 - 0.5,
color: `hsl(${Math.random() * 360}, 100%, 85%)`,
alpha: Math.random() * 0.6 + 0.4
});
}
function animateCosmo() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
particles.forEach(p => {
ctx.globalAlpha = p.alpha;
ctx.beginPath();
ctx.arc(p.x, p.y, p.radius, 0, Math.PI * 2);
ctx.fillStyle = p.color;
ctx.fill();
p.x += p.speedX;
p.y += p.speedY;
p.alpha = Math.sin(Date.now() * 0.002 + p.x) * 0.6 + 0.4;
if (p.x < 0 || p.x > canvas.width) p.speedX *= -1;
if (p.y < 0 || p.y > canvas.height) p.speedY *= -1;
});
requestAnimationFrame(animateCosmo);
}
animateCosmo();
// Управление продуктом (ПК: мышь, мобильные: сенсор)
const product = document.getElementById('cosmo-product');
if ('ontouchstart' in window) {
let touchStartX = 0, touchStartY = 0;
product.addEventListener('touchstart', (e) => {
touchStartX = e.touches[0].clientX;
touchStartY = e.touches[0].clientY;
});
product.addEventListener('touchmove', (e) => {
const deltaX = (e.touches[0].clientX - touchStartX) / 8;
const deltaY = (e.touches[0].clientY - touchStartY) / 8;
product.style.transform = `perspective(3000px) rotateY(${deltaX}deg) rotateX(${-deltaY}deg)`;
});
product.addEventListener('touchend', () => {
product.style.transform = 'perspective(3000px) rotateY(0deg) rotateX(0deg)';
});
} else {
document.addEventListener('mousemove', (e) => {
const xAxis = (window.innerWidth / 2 - e.pageX) / 8;
const yAxis = (window.innerHeight / 2 - e.pageY) / 8;
product.style.transform = `perspective(3000px) rotateY(${xAxis}deg) rotateX(${yAxis}deg)`;
});
product.addEventListener('mouseenter', () => {
product.style.filter = 'brightness(1.5)';
});
product.addEventListener('mouseleave', () => {
product.style.filter = 'brightness(1)';
});
}
// Заказ
function orderNow() {
document.body.style.transition = 'background 0.8s';
document.body.style.background = 'radial-gradient(circle, #00ffcc, #ff007a, #000)';
const title = document.getElementById('cosmo-title');
title.style.transform = 'scale(1.2)';
setTimeout(() => {
document.body.style.background = '#000';
title.style.transform = 'scale(1)';
}, 1500);
alert('Revolut запущен. Твоя кожа — космос!');
}
// Эффекты подов
function podEffect(element) {
element.style.transform = 'translateY(-40px) scale(1.25) translateZ(40px)';
element.style.boxShadow = '0 0 60px rgba(0, 255, 204, 1)';
}
function podReset(element) {
element.style.transform = 'translateY(0) scale(1) translateZ(0)';
element.style.boxShadow = 'none';
}
function podTouch(element) {
element.classList.add('active');
setTimeout(() => element.classList.remove('active'), 800);
}
// Обновление размеров Canvas при изменении окна
window.addEventListener('resize', () => {
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
});
|