本文讲述了C# OPENTK - 创建窗口!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:
本指南将教你如何从NuGet获取OpenTK,并打开您的第一个窗口。我们承诺这将是一个短暂的。
从NUGET安装
OpenTK 3可以安装在.NET Framework 2.0和任何衍生单声道版本上。
在Visual Studio 2013/2015/2017中,点击工具 -> NuGet包管理 -> 程序包管理器控制台来访问程序包管理器
这将调出程序包管理器控制台,一个Visual Studio中NuGet的PowerShell扩展,为了安装OpenTK,在序包管理器控制台中输入以下命令:
Install-Package OpenTK
创建窗口
不像OpenGL,OpenTK自带窗口系统。本教程将教您如何使用它。继续在您喜爱的IDE中创建C#控制台项目,并创建一个名为Game.cs文件,并使用指令添加以下内容:
using OpenTK;
using OpenTK.Graphics;
namespace YourNamespaceHere
{
public class Game
{
}
}
现在我们有一个空白的类,是时候把它变成GameWindow了。要做到这一点,只需继承GameWindow,像这样:
public class Game : GameWindow
现在你的类是一个基本窗口。这很好,但就其本身来说,你什么也做不了。有很多方法可以自定义你的游戏窗口,但在本教程中,我们将创建一个简单的构造函数,让我们设置窗口的宽度,高度和标题。为此,我们重写OpenTK中包含的基本构造函数:
public Game(int width, int height, string title) : base(width, height, GraphicsMode.Default, title)
{
}
你的GameWindow已准备就绪!现在,您所有需要做的就是在程序中创建一个实例。当您之前创建项目时,它也应该创建一个名为Program.cs,其中包含Main函数的文件。若要在程序启动时打开窗口,我们必须:
将该代码插入主函数,然后构建并运行程序!你现在有一个空白的窗口,很好!但是,关闭窗口的唯一方法就是使用交叉(X)按钮或Alt+F4.我们不想要这样,让我们做一点点输入处理!
GameWindow有很多方法可以重写,以将各种功能添加到窗口中。您可以查看此网站的"API"部分来查看所有这些内容,但在这种情况下,我们感兴趣的是OnUpdateFrame。
通过简单的敲入override OnUpdateFrame,你的IDE应该能够生成这样的代码
protected override void OnUpdateFrame(FrameEventArgs e)
{
base.OnUpdateFrame(e);
}
检测按键按下真的很简单!OpenTK有一个名为"KeyboardState"类中的IsKeyDown方法,如果按下键,该方法返回true。例如,在按下返回(Esc)键时,KeyboardState.IsKeyDown(Key.Escape)返回true。
当我们按下退出按钮时,我们想退出程序,综上所述,在按下退出键时退出就很简单了
KeyboardState input = Keyboard.GetState();
if (input.IsKeyDown(Key.Escape))
{
Exit();
}
现在,函数看起来应该是这样:
protected override void OnUpdateFrame(FrameEventArgs e)
{
base.OnUpdateFrame(e);
KeyboardState input = Keyboard.GetState();
if (input.IsKeyDown(Key.Escape))
{
Exit();
}
}
总结
在本教程中,我们安装了 OpenTK,创建了一个空白窗口,用于侦听按下的退出键,并在按下退出键时退出。在下一教程中,我们将在刚刚创建的空白窗口上绘制一个三角形。
更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。
想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!