你怎么去"正确"为VS 2013设置SFML?虽然有几个地方给了我一些如何做的信息,但除了一件事之外,似乎没什么用处: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-graphics-2,csfml-windows-2,libsndfile-1和openal32。
4)创建应用程序。
在扩展和自己做所有事情之间,明显的区别是程序集信息中的GUID,但是如果我尝试前面的步骤并将扩展项目中的GUID插入到新项目中,我的尝试仍然无法工作,即使项目最终看起来完全一样。最重要的是,GUID来自哪里以及如何获得它?
次要问题:XNA是否具有SFML所有的音频/图形/窗口处理功能?如果是这样,切换到XNA比使用SFML.Net更好吗?
答案 0 :(得分:4)
现在为您的项目设置了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
}
我已经通过this tutorial在Visual Studio 2013和2015中设置了我的SFML.Net项目。我用了一些文字来回答这个问题。