|
Модераторы: Sardar, Aliance |
|
PsiMagistr |
|
|||
Опытный Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: нет Всего: 1 |
Ребята, как JS уничтожает свои объекты? Я создал класс и одно из полей является тикающим таймером. Сразу после создания объекта этот таймер начинает тикать в нем. Дотикивает до нужного мне значения и очищается clearTimeout. Сами же мои объекты создаются через другой таймер в программе.
Не будет ли утечек памяти при этом? Не останутся ли висеть мертвые объекты? -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
PsiMagistr, В приведенном коде нет переменных, и нечему утекать.
Добавлено через 2 минуты и 59 секунд setTimeout - функция, которая тикнет не более одного раза. До тех пор, пока она не сработает - ответственная за функцию setEgg область видимости не будет удалена. Также не будут удалены все ее собственные переменные -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
PsiMagistr |
|
|||
Опытный Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: нет Всего: 1 |
Спасибо.
Вод полный код описания объекта. (класса) Там рекурсивный вызов сеттаймаут.
Сам объект рождается в другом месте кода. Тоже через таймер. Каждую секунду новый объект. Моя программа работает, но я волнуюсь насчет утечек. Это сообщение отредактировал(а) PsiMagistr - 26.3.2019, 17:23 -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
Утечки памяти, обычно. ловятся не просмотром кода, а профайлером. https://developer.chrome.com/devtools/docs/heap-profiling - вот так, например
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
PsiMagistr |
|
|||
Опытный Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: нет Всего: 1 |
Спасибо большое. Если б я еще в этом понимал. ( -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
https://habr.com/ru/post/309318/
Вот - то же, но расшифровано и по русски. В гуглопоиске тоже нужно разбираться ;) -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
PsiMagistr |
|
|||
Опытный Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: нет Всего: 1 |
Это я читал. Спасибо большое. У меня в хроме даже профилировщик совсем по др. выглядит.
Кстати никому код "Ну погоди" не нужен? Чистый джс, только что сделал. https://nupogodi.000webhostapp.com/ Это сообщение отредактировал(а) PsiMagistr - 27.3.2019, 15:39 -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
_zorn_ |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 21.8.2007 Репутация: 1 Всего: 12 |
||||
|
||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
Кнопку Старт и Пауза нужно визуально отделить от игровых кнопок. Так они путаются с игровыми кнопками - если играть мышкой - мешает Нипример сверху-снизу или как в оригинальной версии.
Ну и в оригинальной игре ускорялись яйца со временем, или их гуще становилось - а тут, вроде нет такого. А так, конечно забавно https://www.youtube.com/watch?v=vGfAsXQ3FuI - вот примерно так выглядел оригинал если скопировать именно такое расположение кнопок и добавить звук - будет больше ностальгирующих ;) -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
_zorn_ |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 21.8.2007 Репутация: 1 Всего: 12 |
И иголкой "время настраивать" ))
|
|||
|
||||
PsiMagistr |
|
|||
Опытный Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: нет Всего: 1 |
Спасибо, друзья. Да я ускорение не делал... Яйца с интервалом в 2 сек спавнятся. Ребят, а если одну большую спрайт карту сделать это побыстрее будет, чем загруз 25 отдельных изображений? -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
Обычно делают одну картинку со всеми спрайтами и показывают их бякграундом со смещением. Получается стартовая загрузка страницы чуть быстрее. Хотя на быстродействии игры не скажется.
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
PsiMagistr |
|
|||
Опытный Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: нет Всего: 1 |
Спасибо большое... А то я эти спрайты три дня резал... ). Звуки добавил. Но, блин, хостинг не грузит - 404 и все по барабану ему. Видать ограничение какое-то. Дома звук идет нормально. Это сообщение отредактировал(а) PsiMagistr - 29.3.2019, 15:43 -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
PsiMagistr |
|
||||
Опытный Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: нет Всего: 1 |
Я хотел бы уяснить одну тонкость, если можно:
Какой из двух таймеров сработает раньше, если они оба настроены на одинаковый отрезок времени? Или сработает по ходу кода - сначала первый (4 строка), потом второй (11 строка)? Как JS разруливает подобное? Спасибо большое. Это сообщение отредактировал(а) PsiMagistr - 29.3.2019, 16:48 -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
||||
|
|||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
PsiMagistr, Звук нужно вставлять тегом audio. Вероятнее всего их потребуется несколько, клик времени и разбитые-пойманные яйца. У тега на JS есть возможность порулить проигрыванием. Сами теги можно и скрыть, но общая кнопка отключения-включения музыки должна быть.
Таймеры - вещь непредсказуемая, зависящая от реализации и броузера. Скорее всего, они сработают первый раз в том же порядке как написано, а вот последующие разы уже как получится поставить. Лучше не увлекаться слишком большим количеством таймеров на странице -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
PsiMagistr |
|
||||
Опытный Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: нет Всего: 1 |
Я попробовал без тега через прямое создание объекта.
Дома такое работает, хост отвечает при загрузке аудио 404й ошибкой. Пути верные. Насчет таймеров расстроился. У меня игра на таймерах. Внутри каждого яйца вшит таймер + таймер который порождает сами яйца. Я думал они всегда по ходу кода срабатывают.. Но вроде пока работает. setInterval не использую. Использую рекурсивно вызываемый setTimeout. Это сообщение отредактировал(а) PsiMagistr - 29.3.2019, 17:10 -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
||||
|
|||||
PsiMagistr |
|
|||
Опытный Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: нет Всего: 1 |
Изменен алгоритм игры "Ну погоди". Добавлено автоматическое изменение скорости падения яиц.
https://nupogodi.000webhostapp.com/ -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
PsiMagistr |
|
|||
Опытный Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: нет Всего: 1 |
Была глубокая переработка. Игра стала однотаймерной. Дорогостоящая функция splice в алгоритме удаления элемента из массива заменена. Исправлена критическая ошибка из-за которой ресурсы игры могли не загружаться.
Это сообщение отредактировал(а) PsiMagistr - 10.4.2019, 16:28 -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
PsiMagistr |
|
|||
Опытный Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: нет Всего: 1 |
Зацените!
https://nupogodi.000webhostapp.com/ Управление - A - влево вверх. Z - влево вниз, H - вправо вверх, B - вправо вниз, Esc - пауза. Пробел - старт новой игры. Соберите 500 золотых яиц и останьтесь в живых. Не берите коричневые. Красные яйца позволяют немного подлечиться. Каждое упущенное золотое яйцо и взятое коричневое ведет к потере жизней. -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
PsiMagistr |
|
|||
Опытный Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: нет Всего: 1 |
Решена проблема со звуковоспроизведленитем.
Звук воспроизводится в браузерах последних версий, имеющих поддержку формата mp3 -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
PsiMagistr |
|
|||
Опытный Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: нет Всего: 1 |
Решена проблема со звуковоспроизведленитем.
Звук воспроизводится в браузерах последних версий, имеющих поддержку формата mp3 -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
ОльгаБетецкая |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 2.5.2019 Репутация: нет Всего: нет |
Обратитесь к профессионалу, у меня были аналогичные проблемы. Я обратилась к мастеру по созданию и продвижению сайтов Сергею Малахову.
Он создал: - Уникальный дизайн - Систему управления СМС - Наполнение контентом - Адаптивную верстку - И сделал мне подарок — 1 год хостинга и домен в подарок. Подробнее о его услугах Вы можете посмотреть на сайте https://malakhov.site/ Это сообщение отредактировал(а) ОльгаБетецкая - 2.5.2019, 10:03 |
|||
|
||||
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |