Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Почему не создаётся враг, игра перестает работать вообще, небольшая игра

Kak dela Ученик (1), на голосовании 1 месяц назад
const canvas = document.getElementById('gameCanvas');

const ctx = canvas.getContext('2d');



// Параметры игры

const screen_width = canvas.width;

const screen_height = canvas.height;



// Класс Врага

class Enemy {

constructor() {

this.width = 100;

this.height = 100;

this.x = this.randomX();

this.y = screen_height - this.height;

this.jump_height = 50;

this.jump_duration = 4;

this.ground_duration = 2;

this.current_state = "ground"; // "ground", "jumping", "attacked"

this.attacked_duration = 1;

this.attacked_timer = 0;

this.animation_frames = {

"ground": [

new Image(),

new Image(),

new Image()

],

"jumping": [

new Image(),

new Image(),

new Image()

],

"attacked": [

new Image(),

new Image()

]

};

this.animation_frame_index = 0;

this.animation_speed = 12;

this.animation_timer = 0;

this.attack_count = 0; // Счетчик атак



// Загрузка изображений

this.loadImages();

}



randomX() {

return Math.random() * (screen_width - this.width) + this.width;

}



loadImages() {

// Загружаем изображения для "ground" анимации

this.animation_frames["ground"][0].src = "C:/blok11.png";

this.animation_frames["ground"][1].src = "C:/blok12.png";

this.animation_frames["ground"][2].src = "C:/blok13.png";

Игра перестает работать вообще
// Загружаем изображения для "jumping" анимации
(Загрузил, в сообщения не влезло)



// Загружаем изображения для "attacked" анимации




update() {

// ... (Обновление анимации, прыжков)



if (this.current_state === "attacked") {

this.attacked_timer += 1;

if (this.attacked_timer >= this.attacked_duration) {

this.current_state = "ground";

this.ground_start_time = time.time();

}

}

}



draw() {

if (this.attack_count < 2) { // Если враг не уничтожен

ctx.drawImage(

this.animation_frames[this.current_state][this.animation_frame_index],

this.x,

this.y

);

}

}



is_hit(player_x, player_y) {

// ... (Проверка столкновения с игроком)

// ...

}



attacked() {

this.attack_count++;
Голосование за лучший ответ
Собака Профи (582) 2 месяца назад
Это не полный код и читать его невозможно, нужна демонстрация в песочнице ( codepen.io или codesandbox.io )
Похожие вопросы