2016-05-03 3 views
0

Я планирую создать редактор карт для игры C#, которую я создаю. Я делал это ранее, используя XNA и XNA в старых GraphicsDeviceControl, GraphicsDeviceService и ServiceContainer. Я хочу способность создать класс и наследовать от класса GraphicsDeviceControl, а затем перетащить этот класс на форму из панели инструментов так же, как это: Youtube VideoMonogame with winforms

Я установил OpenTK с помощью NuGet и следовал этому tutorial, но когда я создаю класс и наследует GraphicsDeviceControl, он не отображается в панели инструментов формы. Я делаю что-то неправильно? Разве это невозможно с помощью моногейма? Если это возможно, что мне делать, чтобы заставить его работать?

Заранее благодарен!

+0

Это, безусловно, возможно, хотя я не могу вспомнить точные детали. Кажется, я нашел элемент управления в структуре SharpDX, который можно адаптировать для работы с MonoGame. – craftworkgames

+0

@craftworkgames Спасибо, я посмотрю SharpDX, затем – TS1997

+0

@craftworkgames Не могли бы вы посмотреть, сможете ли вы найти детали? Я искал немного, но я не могу найти его. Заранее спасибо! – TS1997

ответ

0

я, наконец, удалось получить его работы: D я добавил каждый класс, который существует в проекте под названием MGWinFormsControls в this GitHub репо к моему проекту. У меня уже была версия monogame.framework, а также ссылка OpenTK и OpenTK.GlControl. Затем я создал класс и унаследовал от GraphicsDeviceControl. Сначала это не сработало, но после написания одной строки кода в функции draw в моем классе это сработало. Я просто написал GraphicsDevice.Clear (Color.Black). Теперь класс отображается в панели инструментов

0

Если вы просто после окна GL в форме, посмотрите на GLControl, он делает именно это. Щелкните правой кнопкой мыши в каком-то пустом пространстве панели инструментов, выберите и выберите OpenTK.GLControl.dll.

enter image description here

enter image description here

+0

Я написал это ранее сегодня, как-то удалил его, восстановил его для справки. Рад, что вы его отсортировали. –