![]() |
|
Модераторы: Rickert |
![]()
|
|
| Lеstat |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 28.12.2005 Где: Москва Репутация: нет Всего: нет |
Вобщем хотелось бы сделать редактор уровней с использованием форм.
На форме лежат всякие кнопочки, менюшки и тд, а графику выводим в такой "прямоугольник" на этой же форме. Очень хотелось бы узнать как такое можно реализовать... В поиске мне ничего путного не выпало, сам намучился не знаю что делать! Интересуют примеры или просто рекомендации по реализации на C++ или C# в VS2005 |
|||
|
||||
| NikotiN |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 30.7.2006 Репутация: нет Всего: нет |
1. создать весь интерфейс на основе directx, т.е. кнопочка - это тоже спрайт
2. выводи на любой другой контрол, при создании девайса укажи чё нить другое, а не форму. |
|||
|
||||
| Able |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 13.6.2006 Где: Тюмень Репутация: 1 Всего: 2 |
Ищите в DirectX SDK пример CustomUI Direct3D Sample открывайте исходник, и вуаля всё как на лодони, что не понятно спрашивайте
Хотя рендер можно выводить и на кнопку и на поле и на часть формы Редактор то для 2D? |
|||
|
||||
| Lеstat |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 28.12.2005 Где: Москва Репутация: нет Всего: нет |
Посомтрел пример... у меня в нем все элементы управления рисуются внутри области которую DirectX выдает, а я хочу эту область поместить на форму обычную и выводить в нее кнопочки, менюшки мне не нужно. Попадаются примеры на С#, но на C++ не видел конкретных примеров с формами. Мне бы хотелось использовать C++ Я создаю обычный проект Windows Forms Application. Думаю можно кинуть на форму компонент "Panel" и выводить окошко DirectX'а с размерами и положением этого компонента. Получиться так что на форме будет просто область в которой рисуется картинка. Для примера могу подрисовать эту область в фотошопе =) ![]() Насчет самого редактора: Хочу сделать игровой редактор и расставлять им модели по уровню. Для начала нужно сделать вывод графики как на приведенном рисунке, а не во всю форму или фуллскрин, реализовать загрузку моделей и простую функцию перемещения моделей в горизонтальной плоскости с помощью четырех кнопок. А также прога должна сохранить список моделей и их координаты в текстовый файл. |
|||
|
||||
| Able |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 13.6.2006 Где: Тюмень Репутация: 1 Всего: 2 |
Работаете с в трехмерном пространстве?
Как уже сказал NikotiN, просто:
По самому С++, не помню точно по-моему так: (пишу по памяти)
|
||||
|
|||||
| Lеstat |
|
||||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 28.12.2005 Где: Москва Репутация: нет Всего: нет |
в инете вычитал, что их вобще нет!
В одном месте теперь ошибка... с остальным все понятно!!! Это сообщение отредактировал(а) Lеstat - 28.8.2006, 14:00 |
||||||||||
|
|||||||||||
| Able |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 13.6.2006 Где: Тюмень Репутация: 1 Всего: 2 |
По пробуйте вместо hWnd делать ссылку на компонент...
|
|||
|
||||
| Lеstat |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 28.12.2005 Где: Москва Репутация: нет Всего: нет |
Вопрос снимается! Огромное спасибо всем кто помог!!!
Наконец-то получилось Могу рисовать в области DirectX'а, которая рисуется только на компаненте "panel1" Теперь столкнулся с такой проблемой не пойму куда мне цикл рендера затолкать! Т.е. если я ставлю цикл рендера в функцию, которая вызывается при появлении формы прога как-бы виснет в этом месте, но рендерит. В каком месте программы выгоднее рендерить? Это сообщение отредактировал(а) Lеstat - 28.8.2006, 23:18 |
|||
|
||||
| $tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: 7 Всего: 22 |
цикл рендера должен содержать вызов Application.DoEvents() (это на шарпе для дотнетовой проги) иначе прога будет подвисать. Т.е. должна быть вызвана обработка сообщений, поступающих на форму.
Попробуй сделать контрол, наследующий от Panel. В него добавь функцию рендера |
|||
|
||||
| Lеstat |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 28.12.2005 Где: Москва Репутация: нет Всего: нет |
я пока сделал рендер по таймеру...
получается 40-70 FPS что-то мне кажется слишком сильно тормозит... там только один треугольник выводится попробую переделать! |
|||
|
||||
| NikotiN |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 30.7.2006 Репутация: нет Всего: нет |
можно повесить и на application.idle
|
|||
|
||||
| $tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: 7 Всего: 22 |
Lеstat, нужно поставить в параметрах создаваемого устройства моментальное обновление. Иначе будет рендеринг максимум с частотой развертки экрана.
|
|||
|
||||
| ILAgent |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 1.3.2006 Репутация: нет Всего: нет |
Можно простой обрабатывать, а можно и в параллельном потоке попробовать. |
|||
|
||||
| $tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: 7 Всего: 22 |
||||
|
||||
| Able |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 13.6.2006 Где: Тюмень Репутация: 1 Всего: 2 |
Или с++:
Ниже пример: Это сообщение отредактировал(а) Able - 30.8.2006, 14:25 Присоединённый файл ( Кол-во скачиваний: 8 )
______.rar 57,32 Kb |
|||
|
||||
![]()
|
| Правила форума "Программирование игр, графики и искуственного интеллекта" | |
|
|
НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |