|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.07.2013, 20:18 | #1 |
Форумчанин
Регистрация: 21.12.2010
Сообщений: 224
|
Редактор 2D карт
Есть многомерный массив 100х100(100к блоков), нужно сделать визуальный редактор этого массива, массив устроен довольно просто, каждый элемент массива в качестве значение имеет число, 1=трава,2=камень,3=ода и т.д.
Юзать OpenGL желания нет, мб есть способ роще? 10к битмапов будет довольно сложно создать. |
21.07.2013, 23:28 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
у вас 10к типов клеток?
просто рисуйте только видимую часть массива, а битмапов нужно не более чем количество типов клеток. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
21.07.2013, 23:52 | #3 |
Форумчанин
Регистрация: 21.12.2010
Сообщений: 224
|
|
22.07.2013, 00:00 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
если устроит скорость то можно и канвой.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
22.07.2013, 02:27 | #5 |
Форумчанин
Регистрация: 21.12.2010
Сообщений: 224
|
|
22.07.2013, 03:33 | #6 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
лучше покажите, не факт что у вас прорисовка самое медленное,
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
22.07.2013, 03:40 | #7 |
Форумчанин
Регистрация: 21.12.2010
Сообщений: 224
|
Показать не могу, так как не сохранил, могу объяснить как все происходило.
Есть TImage1, в нем рисуется вся карта 100х100(каждый тип блока копируется с другого TImage), у него visible:false, есть Timage2, это то что видит пользователь, и там копируется прямоугольник с Timage1, и кнопками сделал изменение координат этого прямоугольника, тем самым некий скролинг. Это все что я смог придумать за 15минут, канвас раньше никогда не трогал(не приходилось), графику на OpenGL пишу обычно, уже даже небольшую библиотеку сделал на нем, как раз под подобный редактор,теперь даже проще чем на канвасе сделать, только уже поздно, нет желания сейчас что то писать |
22.07.2013, 05:07 | #8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
такой подход будет тупить и на OGL.
вам не нужна общая карта, рассчитывайте то что видит пользователь, и лишь это и рисуйте. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
22.07.2013, 06:59 | #9 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Почти всегда редакторы карт делаю на стринггриде. Скорость вменяемая.
Пример http://phomm.narod.ru/programs/h3mtered.htm (исходный код прилагается, карту для примера там тоже можно найти, для её запуска, правда, может потребоваться конфигурирование редактора). Работать нужно заставить всего пару-тройку вещей, как-то: события OnDrawCell OnMouseDown OnMouseMove в гриде и работу с реальным массивом данных карты, где записаны индексы(либо сразу ссылки на битмапы) и с массивом битмапов. Писал такое и без грида - на чистом канвасе, но это посложнее будет, зато и скорость в разы (есть пример типа движка игры, но кода не дам - зная Ваш уровень - вряд ли поймёте, да и не нужны Вам такие сложности, из того , что есть не переделаете на редактор). Пробовал писать такое на чистом опенгле, но это было давно и получилось убого, хоть и работало(в тестовом виде, далее не развивал, не понравилось, грид устроил больше), могу даже раскопать чего по исходникам. |
22.07.2013, 13:07 | #10 |
Форумчанин
Регистрация: 21.12.2010
Сообщений: 224
|
Канавас вообще незнаю, вчера то что в интернете нашел, с этого и слепил. Не буду лепить велосипед и на OGL сделаю
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
векторный редактор карт | AndersonEgo | C# (си шарп) | 7 | 26.05.2011 17:03 |
написать редактор карт на с++ | GLooZy | Общие вопросы C/C++ | 4 | 17.12.2010 16:45 |
Написал редактор карт | sasha1993 | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 8 | 18.07.2009 21:31 |
Еще один Редактор Карт | DeKot | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 12 | 09.06.2009 10:25 |
Простенький редактор карт. | ROD | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 5 | 07.04.2009 22:24 |