Настройка проекта
В этой статье рассказ пойдет о создании окна и подключение SharpDX-библиотек. Мы будем использовать одну из библиотек SharpDX, а именно SharpDX.Window.
SharpDX – это управляемая .NET-оболочка с открытым исходным кодом для создания приложений с помощью DirectX.
И так, создадим наш проект.
Выбираем Console App (.NET Framework).
Теперь нам необходимо скачать SharpDX.Windows библиотеку, в NuGet она называется SharpDX.Desktop. Сделать это можно используя NuGet или скачав библиотеку на свой компьютер и затем подключив через Solution Explorer. Этот метод мы будем использовать в других частях этого цикла статей.
Для этого, нажимаем Tools [ Сервис ] → NuGet Package Manage [ Диспетчер пакетов NuGet ] → Manage NuGet Packages for Solution… [ Управление пакетами NuGet для решения… ].
Нам не понадобятся другие библиотеки на этой уроке. Ищем только SharpDX.Desktop.
Ставим галочку напротив своего проекта и нажимаем кнопку Install.
Закрываем вкладку NuGet – Solution.
Теперь мы можем подключить библиотеку SharpDX.Windows. Другие библиотеки нам не понадобятся, поэтому спокойно их удаляем.
using SharpDX.Windows;
Ну что же теперь можно приступить к написанию кода нашего приложения.
Поехали!
Самое первое, что нам понадобится – это класс, в котором будем происходить работа с окном. Я его назвал Core, так как по сути он является ядром. В нем у нас будет три функции: Run (запускающая функция), Core (конструктор класса), RenderCallback (обработчик событий).
class Core
{
public Core()
{
}
public void Run()
{
}
public void RenderCallback()
{
}
}
Добавим само окно.
class Core
{
RenderForm window;
...
В public Core() добавим описание RenderForm window;
Последнее, что нам нужно сделать, чтобы программа была готова – это в функцию static void Main(string[] args) добавим метод Run() создав экземпляр класса.
Game можно изменить на любое другое слово.
Вот и все. Теперь при запуске мы увидим консоль и окно с названием «SharpDX Tutorial 0».
Спасибо за внимание!
using SharpDX.Windows;
namespace SharpDXTutorials_0
{
class Program
{
static void Main(string[] args)
{
Core game = new Core();
game.Run();
}
}
class Core
{
RenderForm window;
public Core()
{
window = new RenderForm("SharpDX Tutorial 0");
}
public void Run()
{
RenderLoop.Run(window, RenderCallback);
}
public void RenderCallback()
{
}
}
}
Автор: тащит всю команду