Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/516: Рейтинг темы: голосов - 516, средняя оценка - 5.00
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168

Создание игры(2d)

12.05.2009, 21:08. Показов 103587. Ответов 423
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно идея такого создать нечто на подобиe ->
http://www.newgrounds.com/portal/view/494301

Буду сюда задвать свои вопросы,думаю всем кто будет увлечён создание игры тоже будет интресно)

Otaka,этот задний буфер замещает собой background плюс курсор оставляет на неём свои артефакты,как его очищать,да так чтоб ещё и background у нас был.

________________________________________ ________________________________________ _________________________
Основные моменты
Вычисление угла поворота персонажа в зависимости от положения курсора мыши
То же
Поворот изображения(тут еще как смещать точку поворота)
Делаем пули
Все еще непонятки с пулями
Начинаем вычисление коллизий
Идея про то, как это должно быть
Как это должно быть реализовано
Как повернуть массив точек(регион)?
А тут код(в нем есть глюк. Потом есть исправленная версия)
Находим столкновение региона и линии. Исправленная версия столкновения регионов
Как это должно выглядеть в принципе?
Начинается долгое обсуждение того как делать редактор уровней
...
...
Первый вариант редактора
Снова эти пули
Функция которая бьет изображения на мелкие куски(тайлы)
Версия редактора
Загрузка сохранение
Еще версия
4
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.05.2009, 21:08
Ответы с готовыми решениями:

Создание игры
Извините за очередную тему подобного рода, но все же не могу не спросить: Мечтаю о создании игры, пусть и очень простой.. Сейчас для меня...

Создание игры
Доброго времени суток! Лабораторная работа - сделать игру. Есть идея. Нужны любые советы, коментарии, пожелания и критика. Спасибо! ...

Создание игры
Люди есть у кого нибудь исходники игры на подобие игр от ALAWAR, что бы разобрать и поучиться на этом примере? Или подскажите где можно...

423
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
17.06.2009, 21:42
Студворк — интернет-сервис помощи студентам
Ах вот как? В простейшем случае все будет выглядеть так.
Миниатюры
Создание игры(2d)  
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
17.06.2009, 21:44
А сли у тебя стена под углом, то ты её задай как линию, а потом проверяй столкновение прямоугольника с линией. Я ж написал в простейшем случае, для квадратных предметов.
0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
17.06.2009, 21:56  [ТС]
Можешь подробно описать что делает эта функция IntersectRect(&intRect,&tp,&Prep[i]) И вот это &intRect,&tp,&Prep[i] что такое)
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
18.06.2009, 10:16
IntersectRect(&intRect,&tp,&Prep[i])
Эта функция ищет пересечение двух прямоугольников(если оно есть).
IntRect-первый параметр означает куда после выполнения функции поместится результат пересечения двух прямоугольников.
tp и Prep - это я указал эти самые два тестируемые прямоугольника.
Заметь, что в функцию всегда передаются указатели на них.

Не по теме:

Прежде чем задавать такие вопросы лучше глянь в справку WinApi в Билдере или в МСДН, там очень много всякого интересного.

0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
18.06.2009, 10:54  [ТС]
А как насчёт пересечения двух геометрических фигур,для них есть функция?
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
18.06.2009, 15:59
А это тебе надо искать различные варианты:
-Пересечение окружности с окружностью.
-Окружность и линия.
...
итд.
Можно использовать стандартные функции Виндовса - CombineRgn.
Регион-замкнутая фигура из точек. Если применить CombineRgn на две пересекающиеся фигуры, то в результате вернется результат пересечения и значение COMPLEXREGION. А если эти фигуры не пересекаются, то вернется значение NULLREGION.
Но я так тебе скажу, что это не очень удобные функции. Легче всего взять за основу пересечение двух линий, и можно все препятствия описать как набор ограничивающих линий.
0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
18.06.2009, 16:50  [ТС]
А функцию пересечения линий(Polyline(points,n)) можешь написать,просто я покапался в хелпе не нашёл ничего дельного.
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
18.06.2009, 16:56
Из points(n) можно создать регион, а потом CombineRgn.
А можно Последовательно проверить пересечения всех линий. Но это не всегда будет срабатывать, например, если объект будет внутри другого объекта, то функция скажет, что пересечения нет.
1
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
20.06.2009, 22:41  [ТС]
Слушай,а у регионов количество точек обязательно должно быть одинаково?
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
20.06.2009, 22:45
Нет конечно, сколько угодно.
0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
20.06.2009, 22:46  [ТС]
Я тут посмотрел тему внизу про зглаживание,но нирена не понял XD,это реально к моему проэкту применить)
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
20.06.2009, 22:54
Неа, оно конечно ничего, но слишком медленно(одна небольшая картинка обрабатывается в течении порядка 100 мс), а как ускорить я не знаю.
0
Задающий вопросы (%
 Аватар для KTYJIX
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
21.06.2009, 13:58  [ТС]
А TPoints реально повворачивать в стать объекту,просто что делать в такой ситуации?
Изображения
  
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
21.06.2009, 14:52
Полярные координаты тебе помогут. Немного несложных матпреобразований, и все будет впорядке.
Если сам не разберешся, то вечерком сегодня думаю набросаю функцию поворота TPoint[] относительно какой-то точки.
1
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
21.06.2009, 19:12
Смотри что вышло.
Только есть все же пару проблем:
Ты писал про TPoint, но их использовать нельзя по той причине, что там целые числа, и при повороте туда сюда ты будешь терять дробную часть, и фигура будет деформироваться, и после нескольких поворотов ты получишь какую-то бесформенную кучу. Надо использовать FPoint(это типа дробный TPoint).

В класс CRegion встроена обработка коллизий, но скажу тебе то, что она не всегда точно определяет столкновения, короче попробушь и узнаешь.
Вот и все.
Вложения
Тип файла: rar RegionRotate.rar (13.7 Кб, 103 просмотров)
2
 Аватар для KoFeMaH
38 / 24 / 4
Регистрация: 21.02.2009
Сообщений: 249
23.06.2009, 02:45
ребят респект за проект=)Замутили=)Я если честно на билдере бы не рискнул игру писать=)Есть куда более удобные для этого языки)А так видел как стратегии пишут на visual c++.там ваша затея тоже бы проще получилась.если нужно могу выложить книженцию=)
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
23.06.2009, 10:22
Можно было бы. Но тут ведь смысл, не в том, чтобы сделать нечто ТАКОЕ, а чтобы понять в принципе, как это делается, из каких частей состоит игра, как реализованиа каждая часть, и как эти части взаимодействуют между собой.
Я не думаю, что на вижле бы получилось проще.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
23.06.2009, 10:24
Учиться делать надо на том, что проще и на чём умеешь работать. В данном случае у автора имеется советчик, работающий на борланде, и одного только этого факта достаточно для того, чтобы выбор пал именно на борланд
0
 Аватар для KoFeMaH
38 / 24 / 4
Регистрация: 21.02.2009
Сообщений: 249
23.06.2009, 11:31
Согласен=)Поэтому и сказал респект.я слежу за процессом создания и так сказать и для себя нахожу много интересного
0
 Аватар для petruchodd
129 / 126 / 22
Регистрация: 23.06.2009
Сообщений: 700
24.06.2009, 00:05
блин красавци.. прочитал все 10 страниц ))) аж сам загорелся чем то подобным пострадать гг
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.06.2009, 00:05

Создание игры
Здравствуйте форумчане, мой вопрос состоит в том. Я молодой парень, который знает языки C++, C# и т.д. Ести небольшой интерес к созданию...

Создание игры
Добрый вечер. Начал работу над собственным проектом, и задался вопросом. (gamedev и прочие сайты перечитывал, но так ответа и не нашел....

Создание игры
Посмотрел как сейчас на коленке люди клепают инди игры под андроид\иос e.t.c. Созрел вопрос - куда двинуть, что использовать чтобы написать...

Создание игры на C++
Скажите , а можно ли создавать игры на С++? Если да , то буду рад увидеть примеры как это все реализовать и где можно. Возможно это С++...

Создание 3д игры
Извиняюсь, если такая тема уже была, не нашел. Хочу написать свою игрушку. Игрушка по типу что то gta sa. Но со своим смыслом и тп. Я готов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
100
Ответ Создать тему
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru