Перейти к содержимому

Как сделать кликер на html

  • автор:

Saved searches

Use saved searches to filter your results more quickly

Cancel Create saved search

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

mrreads / clicker Public

Clicker build with JavaScript.

mrreads/clicker

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Switch branches/tags
Branches Tags
Could not load branches
Nothing to show
Could not load tags
Nothing to show

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Cancel Create

  • Local
  • Codespaces

HTTPS GitHub CLI
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more about the CLI.

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

Latest commit message
Commit time

README.md

Кликер написан в стиле ООП.

Добавление «новых опций улучшения» происходит путём создания экземпляра класса.

Использование сторонних графических ресурсов

Кликер исполнен в стилистике игры Sonic The Hedgehog, спрайты были найдены на просторах интернета.

PIXI.js создание кликера

Большинство тех, кто начинает изучать программирование, начали это из-за желания сделать свою игру. Нууу… я не исключение, но судьба меня занесла в веб разработку.

image

Ладно, давай ближе к делу. Создать кликер при помощи pixi.js.

Задача тривиальная, но т.к. в разработке игр я мало разбираюсь, то пришлось изучить чуть лучше эту тему.

Почему Js? Почему pixi.js? Почему вообще кликер?!

— Я решил показать лишь свою реализацию задачи. Не хочу учить кого-то какими технологиями пользоваться, как писать код. Просто мое решение задачи.

Перед началом написания кода:

Это видео с процессом создания игр. Если вам лень читать, то можно посмотреть и послушать

Во-вторых весь код я вставлю картинкой, но в конце статьи будет ссылка на github с исходниками проекта, чтобы вы могли сами потыкать.

В коде я оставил поясняющие комментарии для вас, надеюсь понятно будет.

Для начала мы объявляем алиасы и инициализируем само приложение.

Создаем нужные переменные под все элементы игры и загружаем картинки.

image

Для картинок я выбрал формат атласа.

Если не знаком с атласом, то это json формат для загрузки большого количества картинок за один раз.

Вот так это выглядит в коде

image

Я создавал это с помощью TexturePacker. Делать такое вручную, на мой взгляд, не целесообразно.

С помощью функции setup я разбираю атлас, задаю расположение элементов, стили для текста, добавляю начальное значение очков.

image

Это стандартные действия для всего(расположение). Самое интересное это три свойства у target. interactive, buttonMode и on(«pointerdown», handlerClick). Первые два нужны для взаимодействия клика и элемента target. on — это обычный обработчик событий.

Теперь нам нужно написать все необходимые функции для работы игры.

image

Игровой цикл — gameLoop
Состояние игры — play
Обработка клика — handlerClick

gameLoop просто вызывает функцию state.

В play я проверяю значение timer(он равен 10) и разрешаю клик по кнопке, так же обновляю размеры target.

handlerClick идет проверка на возможность клика и производится клик.

Из недостатка, который я вижу, это изменение размеров у target элемента. Он изменяется с 0.9 до 1. Сразу. Без анимации. Но когда ты играешь это не заметить, оставил как есть.

Как и обещал, ниже ссылка на github проект.

Если вы не сталкивались с pixi, но хотите развернуть игру у себя, то вам потребуется сервер. Я использовал openserver. Это нужно для ajax запросов.

Как и обещал ссылка на код.

Как сделать кликер на простой html кнопке? (Нужен чистый javascript)

Вот вопрос: как сделать кликер, на обычный html кнопке? На чистом коде javascript. Например id кнопки «b1». Нужно чтобы при нажатии на кнопку, прибавлялось +1 к div с айди money (допустим его переменная «mon1») Скиньте готовую версию кода плиз. Долго не могу это сделать. Если не понятно, то в коментариях постараюсь объяснить как можно лучше.

Дополнен 5 лет назад
тобеш ты нажимаешь на кнопку, и к строке с айди «money» прибавляется 1.
Лучший ответ

const reducer =startm=>display.innerHTML = `Money : $ $`;
reducer(startmoney);
button.addEventListener(«click», () => startmoney += 1;
reducer(startmoney);
>);
———————————->

Loxoped LosharikУченик (157) 5 лет назад

Спасибо! Попробую обязательно! Но вот что мне тут нужно изменить под свой айди элементов? Айди кнопки one, а айди индикатора money.

Loxoped LosharikУченик (157) 5 лет назад
А нет, я затупил, не надо.
Loxoped LosharikУченик (157) 5 лет назад
Это же чистый js?
Loxoped LosharikУченик (157) 5 лет назад

Но тут проблема, нужно сделать еще таких 3 штуки, но при написании такого же кода (только с изменением айди кнопки, и в 9 строке как у Вас на картинке) ничего не работает. Ошибку пишет в консоли с самого начало второго кода. Что не так?

Loxoped LosharikУченик (157) 5 лет назад

Вторая кнопка — айди b2
Третья кнопка — b3
И естественно четвертая — b4.
Я уже не знаю. Ничего не выходит.

Loxoped LosharikУченик (157) 5 лет назад

Получается что я переименовал все дальне идущие let (сделал их var). Все работает, но пишется разный результат. то есть b1 дает +1 и к примеру при 5 кликах (результат money 5) остается, но при клике b2 (+5) уже результат сразу 5. То есть при клике на разных кнопки, разный результат.

Как сделать автокликер по определенному button`у

Пытаюсь сделать автоклик по определенному button`y пока на странице не появится надпись Успех.

 if(!$( "div:contains('Успех')" ).length)
   

Хотел сделать это в виде тайминтервала но он даже после появления надписи будет проверять страницу на наличие слова? Как это можно сделать по другому? И к тому же не могу разобраться как отличать кнопки друг от друга, что бы кликать не на все сразу а на одну если их там много.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *