|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
|
Создание игры(2d)12.05.2009, 21:08. Показов 103658. Ответов 423
Метки нет (Все метки)
Собственно идея такого создать нечто на подобиe ->
http://www.newgrounds.com/portal/view/494301 Буду сюда задвать свои вопросы,думаю всем кто будет увлечён создание игры тоже будет интресно) Otaka,этот задний буфер замещает собой background плюс курсор оставляет на неём свои артефакты,как его очищать,да так чтоб ещё и background у нас был. ________________________________________ ________________________________________ _________________________ Основные моменты Вычисление угла поворота персонажа в зависимости от положения курсора мыши То же Поворот изображения(тут еще как смещать точку поворота) Делаем пули Все еще непонятки с пулями Начинаем вычисление коллизий Идея про то, как это должно быть Как это должно быть реализовано Как повернуть массив точек(регион)? А тут код(в нем есть глюк. Потом есть исправленная версия) Находим столкновение региона и линии. Исправленная версия столкновения регионов Как это должно выглядеть в принципе? Начинается долгое обсуждение того как делать редактор уровней ... ... Первый вариант редактора Снова эти пули Функция которая бьет изображения на мелкие куски(тайлы) Версия редактора Загрузка сохранение Еще версия
4
|
|
| 12.05.2009, 21:08 | |
|
Ответы с готовыми решениями:
423
Создание игры Создание игры Создание игры |
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
|||||||||||
| 18.09.2009, 00:38 [ТС] | |||||||||||
|
Сделал,спасибо за советы.
Отака к тебе очень серьёзный вопрос:
Эта часть кода для обработки текстуры таила.
0
|
|||||||||||
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
|
| 18.09.2009, 08:45 [ТС] | |
|
Как сделать деструктор base и i_tile;
0
|
|
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
||||||||||||||||
| 18.09.2009, 16:42 [ТС] | ||||||||||||||||
|
Тааак Evg спасибо,мы увеличили число i до 309
![]() Проблема явно с памятью,что то от туда не удаляется.Потому что если увеличить размер разрезаемой картинки:
0
|
||||||||||||||||
|
|
|
| 18.09.2009, 17:52 | |
|
Я так понимаю, что вместо "delete i_tile;" надо пройтись циклом по i_tile и сначала удалить все указатели, и только потом удалять i_tile. Я понятия не имею, что возвращает BreakImageOnParts, но подозреваю, что примерно так - прочти мануал
1
|
|
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
||||||
| 18.09.2009, 18:51 | ||||||
|
Evg, абсолютно правильно.
Нужно делать так:
1
|
||||||
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 18.09.2009, 19:02 | |
|
Нет, так как эта функция была набросана мною в окошке редактирования сообщений при написании поста №204. Потом, правда, я её проверил(как пришел домой). А удаление я оставил на совести KTYJIX.
1
|
|
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
||||||
| 19.09.2009, 23:05 [ТС] | ||||||
Но появляется проблема резкого падения фпс,это можно как то избежать?
0
|
||||||
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 19.09.2009, 23:10 | |
|
Так ведь тебе нужно сначала в OnCreate формы разбить твою картинку с тайлами на куски и сохранить в массив, а в функции прорисовки просто рисовать их на экран.
0
|
|
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
||||||
| 20.09.2009, 12:48 [ТС] | ||||||
|
Отака, у меня алгоритм такой:
1.Drawtiles() задаёт мне координаты,где я буду рисовать таил,и выдаёт номер таила из массива t_map; 2.В Drawtiles(int x,int y,int tile) я беру номер текстуры и координаты куска текстуры,который мне понадобиться. 3.Загружаю текстуру в base согласно уровню таила. 4.Разбиваю её на кусочки,кусочек рисую,и всё удаляю. Так что,твой вариант инициализации заранее не подходит. Я думаю может сделать так: Можно, чтоб я загрузил в base каринку,а потом сказал
0
|
||||||
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 20.09.2009, 14:49 | |
|
Ну не знаю. Я не совсем понял этот алгоритм, но вообще-то нужно всегда сначала разбить картинку на тайлы при инициализации, а уже потом...
Хотя можно было бы сделать по другому. Зачем каждый раз резать картинку на мелкие кусочки? Можно ведь просто копировать из большой картинки "библиотеки" тайлов кусочек который отвечает за конкретный по номеру тайл, сразу же на рабочую поверхность. Экономия времени и памяти на лицо.
0
|
|
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
|
| 20.09.2009, 15:12 [ТС] | |
|
А у нас же много картинок,ты предлагаешь мне инициализировать вначале 6(допустим у нас 6 таилов)
массивов BreakeImagesOnParts? А потом использовать который мне нужно? Просто по моему удобнее он загрузил,разбил,нарисовал,всё удалил,но почему то быстрее не получается.
0
|
|
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 20.09.2009, 15:16 | |
|
Заранее лучше. Потому что операции выделения памяти и удаления её проходят довольно медленно, а по прохождении Nнного количества времени начнет сказываться эффект фрагментации памяти, что также будет негативно отражатся на производительности.
0
|
|
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
|
| 20.09.2009, 15:24 [ТС] | |
|
Хорошо,значит будем реализовывать огромную "библиотеку таилов".
0
|
|
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 20.09.2009, 15:28 | |
|
Насчет одной огромной я бы тебя поостерег. Лучше сделай несколько библиотчек поменьше, тематических: карта тайлов окружения, библиотека врагов, библиотека оружия... Так ведь проще дополнять и редактировать.
0
|
|
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
|||||||||||
| 20.09.2009, 16:01 [ТС] | |||||||||||
|
И ешё.
Добавлено через 17 минут Просто,если объявить i_tile заранее в:
Access violation at address 00402226 in module "test_prj.exe". Read of address 0000004.
0
|
|||||||||||
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
||||||
| 20.09.2009, 16:50 | ||||||
|
Вообще-то так делать можно, только нужно сделать так:
1
|
||||||
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
|||||||||||
| 20.09.2009, 21:38 [ТС] | |||||||||||
|
Otaka,ещё заметил:
Ты говорил чтобы изменить в положение пули надо делать так:
0
|
|||||||||||
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 20.09.2009, 21:51 | |
|
Честно говоря я не знаю что такое t_map и зачем у него там параметр p, но могу предположить, что ты где-то ошибся в проектировании.
По правде, я уже давно потерял нить разработки и плохо понимаю структуру твоей игры, поэтому мне сложно что-либо говорить.
0
|
|
| 20.09.2009, 21:51 | |
|
Создание игры
Создание игры Создание игры на C++ Создание 3д игры Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
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, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|