Настройка SFML.net 2.1?

1

Как вы собираетесь "правильно" настроить SFML для VS 2013? Хотя несколько мест дали мне немного информации о том, как это сделать, ничего, похоже, не работает, кроме одного: SFML MS2012 Extension. Тем не менее, я хотел бы знать, как это сделать с нуля для VS 2013 без необходимости расширения.

Вот текущий процесс, который я использую без расширения:

1) Открыть новый проект в VS 2013.

2) Добавьте ссылки на SFML-библиотеки (dll): sfml-audio-2, afml-graphics-2 и sfml-windows-2.

3) Добавьте расширенные библиотеки через добавленные файлы: csfml- audio-2, csfml- графика-2, csfml- windows-2, libsndfile-1 и openal32.

4) Создайте приложение.

Между расширением и тем, что делает сам, заметная разница - это идентификатор GUID в сборке, но если я попытаюсь выполнить предыдущие шаги и введю GUID из проекта расширения в новый проект, моя попытка все еще не работает, даже если проекты завершатся выглядя точно так же. Наверху, откуда появился GUID и как я могу его получить?

Вторичный вопрос: имеет ли XNA все аудио/графическое/оконное управление, как это делает SFML? Если так было бы лучше переключиться на XNA, чем использовать SFML.Net?

Теги:
sfml

1 ответ

3
  1. Создайте новый проект С# в Visual Studio 2012/2013/2015. Это может быть консольное приложение или приложение Windows Forms. Единственное отличие состоит в том, что приложение Windwos Forms создает форму, которую вы можете безопасно удалить, а в консольных приложениях отображается Консоль в фоновом режиме.
  2. Щелкните правой кнопкой мыши свой проект в обозревателе решений и нажмите " Добавить ссылку"...
  3. Когда появится окно диспетчера ссылок, перейдите в папку, в которой вы извлекли архив SFML.net, и перейдите в папку lib. Выберите все DLL файлы в папке lib и нажмите "ОК в диспетчере ссылок", чтобы добавить их в свой проект.
  4. После того, как файлы DLL появятся в разделе "Ссылки" вашего проекта, щелкните его еще раз правой кнопкой мыши и нажмите " Добавить"> "Существующий элемент"... Перейдите в папку extlibs и добавьте туда все DLL файлы (возможно, вам придется выбрать файлы.dll в качестве фильтра файлов в диалоговом окне "Открыть").
  5. После того, как эти DLL файлы появятся в вашем обозревателе решений, щелкните их правой кнопкой мыши и выберите " Свойства" (или нажмите "Alt-Enter"). В свойстве " Копировать в каталог вывода" установите для него значение " Копировать", если оно более новое.
  6. Теперь SFML.net настроен для вашего проекта. Чтобы проверить это, вы можете запустить этот пример кода:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using SFML;
    using SFML.Graphics;
    using SFML.Window;
    
    namespace SFML_Test {
            static class Program {
                static void OnClose(object sender, EventArgs e) {
                    // Close the window when OnClose event is received
                    RenderWindow window = (RenderWindow)sender;
                    window.Close();
                }
    
                static void Main() {
                    // Create the main window
                    RenderWindow app = new RenderWindow(new VideoMode(800, 600), "SFML Works!");
                    app.Closed += new EventHandler(OnClose);
    
                    Color windowColor = new Color(0, 192, 255);
    
                    // Start the game loop
                    while (app.IsOpen()) {
                        // Process events
                        app.DispatchEvents();
    
                        // Clear screen
                        app.Clear(windowColor);
    
                        // Update the window
                        app.Display();
                    } //End game loop
                } //End Main()
            } //End Program
        }
    

Он должен выводить это: Изображение 174551

Я разработал свои проекты SFML.Net в Visual Studio 2013 и 2015 через этот учебник. Я использовал часть текста для этого ответа.

  • 1
    я попробовал ваш метод. (скомпилированный последний Sfml.Net из github) не было никаких ошибок компилятора, но во время выполнения я получаю System.BadImageException Additional information: Could not load file or assembly 'sfmlnet-graphics-2, Version=2.4.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format.
  • 0
    SFML работает в 17? Я пытался сделать именно это, но в окне диагностики ошибок Windows появляется сообщение «<проект> .exe перестал работать».

Ещё вопросы

Сообщество Overcoder
Наверх
Меню