我正在使用Game Maker制作一些游戏,但我想用C制作简单的游戏。我是一名新手C程序员。当我编码时,输出始终在CMD Windows控制台中。我可以制作一些简单的游戏,但总是在控制台中,这不是很灵活(你不能动画而不滚动)。当你运行一个更复杂的游戏时,会创建一个全新的屏幕,我实际上会在屏幕上进行交互。
所以我使用C语言的问题是:这个新屏幕是如何加载的?我认为有一些Windows API可以创建一个新的屏幕或其他东西。顺便说一句,在过去,我的意思是DOS时间,你只是使用了一个控制台,但你可以加载一个新的屏幕来玩游戏。你怎么能做到这一点?
我想要一些指导来研究根。我只是不想调用库X或使用SDL。
谢谢你的帮助。
答案 0 :(得分:1)
由于您提到库X,我假设您使用的是Linux系统。存档目标有几种不同的方法。如果您仍想使用控制台但涉及更多图形,您可以查看库ncurses(http://www.gnu.org/software/ncurses/)。
如果您想要更高级的图片,我建议您在这里查看:How do you create a window in Linux with C++?
答案 1 :(得分:1)
创建新的Windows可能会变得非常毛茸茸(即代码可能很复杂且难以阅读)。我将尝试给出一个高级概述,然后将您链接到一个加载基本窗口的好教程。
您需要声明几个类型 HWND 和 WNDCLASSEX 的变量,并调用一堆Windows API函数来初始化带有一些设置和诸如此类的东西。< / p>
完成此操作后,您需要输入一个循环来处理所有窗口交互,通常在循环内使用 TranslateMessage 和 DispatchMessage 。
您还需要实现一个回调程序来处理Windows事件,例如鼠标点击,关闭窗口等。这通常在 LRESULT CALLBACK WndProcedure 中完成。
我现在抛出一堆新词和想法,几乎没有解释;查看本教程,了解我刚刚尝试解释的完整示例。
http://www.functionx.com/win32/Lesson01c.htm
希望这有帮助!
此外 - 根据您对Windows API的评论(即windows.h),这都假设您在Windows上。如果您使用的是Linux,则需要使用X.
答案 2 :(得分:1)
#include<stdio.h>
#include<conio.h>
void main()
{
local declarations;
And your program for the game;
getch();
}
这基本上是函数getch();存储在(conio.h)中的将打开一个新窗口,它将显示 输出直到它从键盘获得一个值,即它显示输出直到您按下键盘上的任何键。
希望这个答案可以帮助你。