如何使用C#在OpenGL中实现简单的游戏控制台?

如何使用C#在OpenGL中实现简单的游戏控制台?,c#,opengl,C#,Opengl,我需要使用openGL和C#做一些简单的游戏控制台,比如《地震》、《反击战》或者其他简单的3D游戏。 例如,只需按下按钮~它就会显示控制台。 我可以在其中编写命令,这将对我的应用程序产生影响。 例如,它将更改某个变量的值或从我的应用程序中调用某个方法。 控制台应该在窗口的左上角。它只是一个窗口应用程序(没有全屏)。 有人知道怎么做吗?一段代码-如何在控制台或一些教程中绘制图形? 非常感谢 文本编辑在OpenGL中很困难。这不是你想要开始的东西。C#有文本字段和富文本窗口。最简单的方法是在C#中创

我需要使用openGL和C#做一些简单的游戏控制台,比如《地震》、《反击战》或者其他简单的3D游戏。 例如,只需按下按钮~它就会显示控制台。 我可以在其中编写命令,这将对我的应用程序产生影响。 例如,它将更改某个变量的值或从我的应用程序中调用某个方法。 控制台应该在窗口的左上角。它只是一个窗口应用程序(没有全屏)。 有人知道怎么做吗?一段代码-如何在控制台或一些教程中绘制图形?
非常感谢

文本编辑在OpenGL中很困难。这不是你想要开始的东西。C#有文本字段和富文本窗口。最简单的方法是在C#中创建一个包含文本字段的窗口。当用户按下~时,将窗口滑入并使其聚焦。当用户按下enter键时,字段中的任何文本都被捕获,字段被清除,捕获的文本被发送到游戏进行处理

为了让整个控制台感觉到您想要重新打印输入的文本。您可以在第一个文本字段上方的另一个不可编辑的文本字段上执行此操作。只需在该字段中已输入的文本末尾添加最近输入的字符串


我不建议从这个开始。在屏幕上显示一些东西,让它直接响应键盘。然后,担心如何调试输入的数据。目前,您只需将调试命令硬编码到控制方案中未使用的随机键。

文本编辑在OpenGL中很困难。这不是你想要开始的东西。C#有文本字段和富文本窗口。最简单的方法是在C#中创建一个包含文本字段的窗口。当用户按下~时,将窗口滑入并使其聚焦。当用户按下enter键时,字段中的任何文本都被捕获,字段被清除,捕获的文本被发送到游戏进行处理

为了让整个控制台感觉到您想要重新打印输入的文本。您可以在第一个文本字段上方的另一个不可编辑的文本字段上执行此操作。只需在该字段中已输入的文本末尾添加最近输入的字符串


我不建议从这个开始。在屏幕上显示一些东西,让它直接响应键盘。然后,担心如何调试输入的数据。目前,您只需将调试命令硬编码到控制方案中未使用的随机键。

对于本论坛,您必须询问特定的编程相关问题。请自己尝试(搜索、实现)并在遇到困难时提出问题。或者转到gamedev.stackexchange.com。您需要该控制台的具体用途是什么?如果你打算用opengl来做这件事,你需要编写一个简单的GUI或者使用一个GUI工具包。自己写并不难,但是你需要一些OpenGL和C的经验。当然,我是学生,我们必须用OpenGL做一个简单的3D游戏。我对C#没有太多的经验,我对OpenGl没有太多的经验,我们只做了一些基本的程序——比如画三角形、纹理、照明。。。我没有时间获得更多的经验。我们只学习了计算机图形学的基本原理,但对OpenGL一无所知。我已经习惯了用java编写程序——几年前,C#与之非常相似,所以这不是什么大问题。我的一个具体问题是我提到的控制台,我不知道从哪里开始。。。我们必须在互联网上学习一切:/@user1097772:如果你是一名学生,那么你的老师一定在教你一些关于3D图形、C#等等的知识。否则,期望你神奇地获得这些知识就等于承认老师不想做他们的工作。在任何情况下,堆栈溢出都不是提出此类开放式问题的地方。这是针对特定的问题,而不是“我需要实现复杂的SystemX:我该如何实现?”到目前为止,C#绑定的可能复制是最简单的部分;-)对于本论坛,您必须提出与编程相关的特定问题。请自己尝试(搜索、实现)并在遇到困难时提出问题。或者转到gamedev.stackexchange.com。您需要该控制台的具体用途是什么?如果你打算用opengl来做这件事,你需要编写一个简单的GUI或者使用一个GUI工具包。自己写并不难,但是你需要一些OpenGL和C的经验。当然,我是学生,我们必须用OpenGL做一个简单的3D游戏。我对C#没有太多的经验,我对OpenGl没有太多的经验,我们只做了一些基本的程序——比如画三角形、纹理、照明。。。我没有时间获得更多的经验。我们只学习了计算机图形学的基本原理,但对OpenGL一无所知。我已经习惯了用java编写程序——几年前,C#与之非常相似,所以这不是什么大问题。我的一个具体问题是我提到的控制台,我不知道从哪里开始。。。我们必须在互联网上学习一切:/@user1097772:如果你是一名学生,那么你的老师一定在教你一些关于3D图形、C#等等的知识。否则,期望你神奇地获得这些知识就等于承认老师不想做他们的工作。在任何情况下,堆栈溢出都不是提出此类开放式问题的地方。这是针对特定的问题,而不是“我需要实现复杂的SystemX:我该如何实现?”到目前为止,C#绑定的可能复制是最简单的部分;-)