Mail.ru
Почта
Мой Мир
Одноклассники
ВКонтакте
Игры
Знакомства
Новости
Календарь
Облако
Заметки
Все проекты
Все проекты
выход
Регистрация
Вход
Категории
Все вопросы проекта
Компьютеры, Интернет
Темы для взрослых
Авто, Мото
Красота и Здоровье
Товары и Услуги
Бизнес, Финансы
Наука, Техника, Языки
Философия, Непознанное
Города и Страны
Образование
Фотография, Видеосъемка
Гороскопы, Магия, Гадания
Общество, Политика, СМИ
Юридическая консультация
Досуг, Развлечения
Путешествия, Туризм
Юмор
Еда, Кулинария
Работа, Карьера
О проектах Mail
Животные, Растения
Семья, Дом, Дети
Другое
Знакомства, Любовь, Отношения
Спорт
Золотой фонд
Искусство и Культура
Стиль, Мода, Звезды
Полный список
Спросить
Лидеры
Поиск по вопросам
Ответы Mail
Программирование
Android
C/C++
C#
iOS
Java
JavaScript
jQuery
SQL
Perl
PHP
Python
Веб-дизайн
Верстка, CSS, HTML, SVG
Системное администрирование
Другие языки и технологии
Вопросы - лидеры.
Какие есть IT каналы на Ютубе ?
1 ставка
Напишите программу C или C++, используя только базовые библиотеки компилятора Geany (вроде нужно использовать gsl).
1 ставка
Помогите срочно,нужно помочь с роблокс студио
1 ставка
Помощь в написании нейросети, или где найти помощь
1 ставка
Cura slicer, заполнение отдельного места на объекте
1 ставка
Лидеры категории
Лена-пена
Искусственный Интеллект
М.И.
Искусственный Интеллект
Y.Nine
Искусственный Интеллект
•••
Почему не создаётся враг, игра перестает работать вообще, небольшая игра
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++;
Голосование за лучший ответ
Данил Погодин
Ученик
(103)
2 месяца назад
хз я не шарю
Собака
Профи
(582)
2 месяца назад
Это не полный код и читать его невозможно, нужна демонстрация в песочнице (
codepen.io
или
codesandbox.io
)
Похожие вопросы
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++;