|
403 / 19 / 5
Регистрация: 17.01.2017
Сообщений: 572
|
||||||
Как сделать столкновение объектов?24.03.2024, 21:02. Показов 6296. Ответов 70
Метки нет (Все метки)
Здравствуйте мне нужно сделать столкновение объектов через функцию. Вот пример варианта, что нужно получить.
Я для этого специально написала функцию hitTest. Выше пример это обычный вариант где сравниваются по оси координат столкновения граней. Через hitTest у меня фиксируется только столкновение когда объект находиться внутри. Пример на gif-анимации. Как проверять грани и запускать hitTest? В прошлый раз мне не ответили поэтому я код изменила и сделала более легкую версию. Здесь используются функции - Transform - setTransform. Все это важно для проверки столкновения. Вот код, чтобы протестировать достаточно скопировать, сохранить в html файл и загрузить в браузере. Никакие библиотеки дополнительно подключать не нужно.
0
|
||||||
| 24.03.2024, 21:02 | |
|
Ответы с готовыми решениями:
70
Непростое столкновение объектов на Canvas Как определить столкновение объектов Столкновение объектов |
|
403 / 19 / 5
Регистрация: 17.01.2017
Сообщений: 572
|
|
| 25.05.2024, 15:04 [ТС] | |
|
8Observer8, закончила игру шутер для двух игроков. Новые улучшения.
1.Сделала полностью уровень. 2.Текстом добавила количество жизней. 3.Добавила броню. Действует – 10 секунд. Перезарядка (чтобы она снова появилась на карте) – 30 секунд. Броня дает полную неуязвимость от прямого попадания лазера. 4.Так как карта небольшая, то высокий шанс встретить другого игрока. Роботы погибают с одного прямого выстрела (если нет защиты), поэтому разместила два портала. Чтобы игрок мог отступить, если враг подобрал защиту и стал неуязвимым. Придумано для баланса. 5.Переписала код и убрала лишние свойства из функций. Вот исходник, чтобы посмотреть и протестировать. ShooterPlatformer.zip
1
|
|
| 25.05.2024, 18:48 | |||||||||||
|
У меня русский текст отображается вопросами в игре:
А в редакторе кода Sublime Text 4 русский текст отображается кракозябами: Я с этим столкнулся впервые, поэтому не могу точно описать проблему. Попробуйте погуглить. Может быть в вашем редакторе кода выставлена какая-то неправильная кодировка. Скорее всего, должа быть установлена кодировка UTF-8. Отыскал место, где должны выводиться слова "Игрок" и "Жизни":
Теперь этот текст в браузере отображается нормально:
0
|
|||||||||||
| 25.05.2024, 19:07 | |
|
Попробуйте разместить игру на бесплатном хостинге https://www.netlify.com/ Это популярный и проверенный хостинг. Постарайтесь интуитивно понять, как это сделать. Если возникнут трудности, то я подскажу. Если кратко, то справа нужно кликнуть "Add new site" и выбрать "Deploy manually". Далее, выбрать папку с игрой, где содержится файл index.html
0
|
|
|
403 / 19 / 5
Регистрация: 17.01.2017
Сообщений: 572
|
|
| 25.05.2024, 19:37 [ТС] | |
|
0
|
|
| 25.05.2024, 20:12 | |
|
Попробуйте сначала нажать "Sing Up". Или ошибка происходит после регистрации? Если внизу страницы есть кнопка "Применить Cookies, то примените"
0
|
|
|
403 / 19 / 5
Регистрация: 17.01.2017
Сообщений: 572
|
|
| 25.05.2024, 20:19 [ТС] | |
|
Почему нельзя сделать через Apache или похожую программу, которая умеет создавать локальные хосты и запускать сайты прямо на компьютере? Я именно так и делаю свои проекты. В интернет вообще не выхожу.
0
|
|
| 25.05.2024, 20:48 | |
|
Я вместо Apache использую Node.js пакет http-server. Я просто хотел, чтобы другие кто открывает тему могли поиграть в браузере просто кликнув один раз по ссылке, а не нужно было им скачивать, извлекать архив, запускать локальный сервер - в основно будет неохота это делать. Кстати, я пробовал запускать вашу игру без локального сервера - она работает. Просто кликнул два раза по index.html. На всякий случай, на будущее, мне ещё известны (хорошо с ними знаком) бесплатные хостинги Glitch и Render (на них даже можно сделать back end на Node.js), а так же без серверной части: https://pages.github.com/ и https://plnkr.co/ Вдруг потом вам пригодится, чтобы публиковать игры и получать обратную связь в виде найденных ошибок или идей, что можно улучшить. Есть ещё хостинг https://itch.io/ - в него можно закинуь архив с игрой, где главный файл должен называться index.html
0
|
|
|
403 / 19 / 5
Регистрация: 17.01.2017
Сообщений: 572
|
|
| 25.05.2024, 21:44 [ТС] | |
|
Я сделала тестовый пример легкую версию и запустила его в браузере.
Вот исходники: ShooterPlatformerLite.zip При тестировании в браузере у меня тоже были проблемы с кодировкой. Я просто сменила кодировку в браузере на кирилицу.
0
|
|
| 25.05.2024, 23:08 | ||
|
На гифке показал, как развёртывается сайт на Netlify перетаскиванием мышкой, а заодно показал, что есть проблема с кодировкой в конце гифки:
0
|
||
|
403 / 19 / 5
Регистрация: 17.01.2017
Сообщений: 572
|
|
| 26.05.2024, 07:50 [ТС] | |
|
8Observer8, я проверила пример по ссылке работает. Есть проблема с кодировкой, но ее можно изменить в браузере или в документе на windows-1251.
Для столкновения лазера со щитом я использовала Math.sqrt и написала функцию dist. Чтобы проверить как она работает я сделала отдельный тестовый пример. Где происходит столкновение двух окружностей. Вот исходники, может кому пригодиться. CollisionElipse.zip После тестирования столкновений я внедрила этот пример в проект.
0
|
|
| 26.05.2024, 10:55 | ||
|
Исправил кракозабы на русский в ShooterPlatformerLite в Sublime Text 4, развернул на хостинге и проблемы нет:
0
|
||
| 26.05.2024, 14:33 | ||||||||||||||||||||||||||||||||||||
|
Замечание по поводу ковыче в примере "CollisionElipse". В половине примера у вас одинарные ковычки:
Отступы внутри скобок. То у вас вместе написано:
0
|
||||||||||||||||||||||||||||||||||||
| 26.05.2024, 17:07 | |||||||
|
Демка на беплатном хостинге Netlify Управление клавишами-стрелками index.html
1
|
|||||||
| 26.05.2024, 20:18 | ||||||||||||||||
|
Эту функцию можно сократить:
1
|
||||||||||||||||
|
403 / 19 / 5
Регистрация: 17.01.2017
Сообщений: 572
|
||||||
| 28.05.2024, 10:55 [ТС] | ||||||
|
Для одного игрока столкновение объектов на Phaser без мультиплеера.
Phaser3MovePlayer.zip
1
|
||||||
|
403 / 19 / 5
Регистрация: 17.01.2017
Сообщений: 572
|
|||||||||||
| 29.05.2024, 15:45 [ТС] | |||||||||||
|
Сделала столкновение объектов окружностей, они движутся в случайном направлении и сталкиваются. Для этого создала отдельный файл Vector2.js, где происходят расчеты столкновения и отталкивания меньшего от большого объекта.
В тег textarea выводиться информация какой объект с кем столкнулся. Также добавила данные о кинетической энергии. Вот код:
CollisionBall.zip Позже переделаю и добавлю космос и метеориты которые при столкновении разраушаются.
0
|
|||||||||||
| 29.05.2024, 18:18 | ||
|
Интересный момент с кодировкой. Я открыл ваши исходники в редакторе Notepad++. Кодировка уставлена в Windows-1251. Кириллица в <title> отображается нормально: Но если прокрутить вниз, то комментарии отображаются с проблемой: Если запустить игру в браузере, то <title> и текст в браузере отображаются вопросами:
0
|
||
| 29.05.2024, 18:42 | |||||||||||||||||
Qt позволяет легко собирать OpenGL приложения для мобильных платформ (Android, iOS и Raspberry Pi). Работает даже на старом телефоне Redmi 4X с Android версии 7.1.2: Можно собирать исполняемые файлы для Desktop (Windows, Linux и macOS). Весить приложение будет значительно меньше, чем если собирать его в EXE с помощью Electron. В играх может возникнуть ситуация, когда важна будет скорость выполнения кода, а C++ потенциально быстрее JavaScript. А с поиском ошибок неоднозначная ситуация - плюсы и минусы есть там и там. Приложение запущенное на Windows 10: Исходники в одном файле main.cpp и файл проекта с расширением ".pro": custom-collision-detection-disks-opengles2-qt6-cpp.pro
0
|
|||||||||||||||||
|
403 / 19 / 5
Регистрация: 17.01.2017
Сообщений: 572
|
||||||
| 04.06.2024, 20:28 [ТС] | ||||||
|
Сделала столкновение метеоритов. Тоже самое, что и столкновение окружностей, только с графикой. Отключить и включить отображение окружностей можно нажав галочку «Show object collision».
Код:
CollisionMeteorit.zip Красные полоски сверху это здоровье. Код я буду дорабатывать, и при столкновении метеориты будут получать урон.
0
|
||||||
|
403 / 19 / 5
Регистрация: 17.01.2017
Сообщений: 572
|
|
| 04.06.2024, 20:32 [ТС] | |
|
Позже сделаю карту где будут летать астероиды и сталкиваться.
0
|
|
| 04.06.2024, 20:32 | |
|
Столкновение объектов на странице JavaScript: столкновение объектов Как сделать столкновение объектов? Как сделать, чтобы столкновение объектов было абсолютно неупругим Столкновение объектов. Как правильно реализовать? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0»
https:/ / ibb. co/ NnkGpfMd
Представленная интегрированная схема описывает непрерывную нелинейную. . .
|
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы
### Аннотация
Представлено исследование по разработке агентной модели микоризной. . .
|
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики
Контекст
Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
|
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии
Введение
Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
|
|
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np
class PlantAgent:
def __init__(self, name, strategy, initial_biomass):
self. name = name
self. strategy = strategy # "greedy" (широколиственные) или. . .
|
сукцессия 9. Математика подлости: как растения предали грибных друзей
anaschu 27.06.2026
Статья 2. Глобальная фосфорная война: эволюционно-экономические механизмы распределения биомов Земли
Введение: Экологический рынок как игра с нулевой суммой
Традиционная экология долгое время. . .
|
сукцессия 8. Как я спорил с ИИ, которые - агенты растений и ненавистники грибов!
anaschu 27.06.2026
Статья 1. Хроники грибного восстания: как Сократов диалог разрушил академические догмы ИИ
Введение: Синдром «цифрового учебника»
Современные большие языковые модели (LLM) обладают колоссальным. . .
|
Главный вопрос моделирования сукцессии
anaschu 27.06.2026
главный вопрос.
Если эктомикориза лучше добывает недоступный фосфор. И ее масса максимальна из всех.
А широколиственный лес тоже имеет самую крутую биомассу.
То почему не возникло их симбиоза? Это. . .
|