100天的代码:我正在使用OpenGl和Qt复制Wolfenstein 3D。

第15天 :完成Esc的时间。

无需过多添加,既然我们检测到密钥esc,就可以完成程序。

谢谢!

第14天 :现在我们检测到密钥Esc。

因此,今天我添加了一些用于检测键转义的代码:

我创建了一个输入管理器(第3行)(稍后应在析构函数中将其正确销毁,但是警告!今天尚未实现,请注意!)。 我告诉Introscene,将监听事件过滤器(第4行),然后我告诉Intro场景,当发出信号转义信号时该怎么做,这基本上是调用处理函数(第5、6和9行)。

现在,每按一次ESC键,标准输出消息就会闪烁一次! 我们将如何处理此类信号? 我们将结束现场! 但是我们明天会这样做! 再见!!!!

第13天 :创建了输入管理器la Qt。 期待进行密钥检测。

好吧,我只是从某个Qt论坛上复制并粘贴了一个对象,该对象将在用户每次按键时发出信号。 这里的想法是管理键盘!

请检查提交! 谢谢!。

第12天 :第17天是真实的mmm。

好的,我不得不承认,这是第17天,但是我经历了一次机器更改(从linux转换为macos)。 对于我的100天代码挑战,这是个问题,因为我的机器需要安装必要的软件包,并安装项目运行所需的软件包。

好吧,事实证明,随着Apple弃用OpenGl,我很难前进。 我不是Qt / OpenGl专家,但是解决方案非常简单。

我也进行了更改,因此opengl上下文在Linux和Mac上均可使用。 希望有人会帮助我进行Linux测试,我们将会看到。 单击此部分的字幕以检查提交!

谢谢,再见!

第11天 :客房整理!

从这五天开始,我将着重强调一些对游戏非常重要的内容:有序,可读性,可维护性,可理解的代码。 好吧,至少,请尝试使我的代码看起来不错,而不是像堆自行车一样。

因此,在这一天,我不再具有以下结构:


├──main.cpp
├──openglwindow.cpp
├──openglwindow.h
├──openglwindow.pri
├──openglwindow.pro
├──README.md
└──资源
├──着色器
│├──wolfy.frag
│├──wolfy_intro.frag
│├──wolfy_intro.vert
│└──wolfy.vert
└──质地
├──classic.png
├──Dummy.png
├──evillogo.png
├──Intro.png
└──pgrate.png

对此:


├──introscene.cpp
├──introscene.h
├──main.cpp
├──openglwindow.cpp
├──openglwindow.h
├──openglwindow.pri
├──openglwindow.pro
├──README.md
└──资源
├──着色器
│├──wolfy.frag
│├──wolfy_intro.frag
│├──wolfy_intro.vert
│└──wolfy.vert
└──质地
├──classic.png
├──Dummy.png
├──evillogo.png
├──Intro.png
└──pgrate.png

因此它具有introscene.h和.cpp。 这样一来,main.cpp的组织就更加干净了。 我将继续为introscene.cpp提供更好的结构。 顺便说一句,什么是introscene.cpp / .h? 还记得我们的三角形窗口课程吗? 现在是内向的。 该名称更好地说明了类本身的目的。 宣告并实例化介绍场景的是班级,这是深刻的屠杀和经典的介绍性墙纸淡入淡出。

接下来的几天,我将继续努力使这种内向更好,更有条理。 例如,我将清理任务作为加载纹理,该类之外的帮手应该参加这些任务。 这样我们将要做更多的事情,我们将看到。

那是所有人! 明天见。