Frog-Leap-Game
39 строк · 1.6 Кб
1export class Fly {2constructor(canvas, ctx) {3this.canvas = canvas;4this.ctx = ctx;5this.width = 10;6this.height = 10;7this.x = Math.random() * canvas.width;8this.y = Math.random() * (canvas.height - 200); // Летают в верхней части экрана9this.speedX = (Math.random() - 0.5) * 5; // Случайное горизонтальное движение10this.speedY = (Math.random() - 0.5) * 5; // Случайное вертикальное движение11}12
13// Мошка14draw() {15// Тело16this.ctx.fillStyle = "black";17this.ctx.fillRect(this.x, this.y, this.width, this.height);18
19// Крылья20this.ctx.fillStyle = "white";21const wingOffset = Math.sin(Date.now() / 100) * 2; // Анимация взмахов крыльев22this.ctx.fillRect(this.x - wingOffset, this.y - 5, 5, 10);23this.ctx.fillRect(this.x + this.width + wingOffset, this.y - 5, 5, 10);24}25
26// Обновление позиции мошки27update() {28this.x += this.speedX;29this.y += this.speedY;30
31// Проверка границ экрана32if (this.x < 0 || this.x + this.width > this.canvas.width) {33this.speedX *= -1; // Отражение от стены34}35if (this.y < 0 || this.y + this.height > this.canvas.height * 0.7) { // Летают только в верхней части экрана36this.speedY *= -1; // Отражение от стены37}38}39}
40