C++;使用GTK+制作2D游戏图形; 我对用C++和GTK+制作GUI密集型战略游戏很感兴趣。我想知道的是在GTK程序中添加2D游戏图形的可行性。基本上,我希望有一个像游戏屏幕一样的东西,有可交互的2D图形,旁边有菜单和导航到其他屏幕的能力,这些屏幕将是GUI

C++;使用GTK+制作2D游戏图形; 我对用C++和GTK+制作GUI密集型战略游戏很感兴趣。我想知道的是在GTK程序中添加2D游戏图形的可行性。基本上,我希望有一个像游戏屏幕一样的东西,有可交互的2D图形,旁边有菜单和导航到其他屏幕的能力,这些屏幕将是GUI,c++,user-interface,graphics,gtk,C++,User Interface,Graphics,Gtk,请注意,我以前从未使用过GTK,也没有编写过GUI(也没有图形)。使用GTK当然是可能的,但你必须问问自己是否使用了适合这项工作的工具。使用杂波,它更适合动画并与GTK集成;或者更好的方法是使用游戏编程工具包 这是一个用凌乱编写的两个非密集型概念验证游戏的示例,其中包含指向其源代码的链接。这是可能的。不久前我和GTK和Vala一起做的。这是我写的一篇文章。基本上,它非常像用Java和Swing制作的游戏。只需覆盖expose信号,并为定期重画创建计时器这是一篇关于在PyGTK中开发2D蛇游戏的文

请注意,我以前从未使用过GTK,也没有编写过GUI(也没有图形)。

使用GTK当然是可能的,但你必须问问自己是否使用了适合这项工作的工具。使用杂波,它更适合动画并与GTK集成;或者更好的方法是使用游戏编程工具包


这是一个用凌乱编写的两个非密集型概念验证游戏的示例,其中包含指向其源代码的链接。

这是可能的。不久前我和GTK和Vala一起做的。这是我写的一篇文章。基本上,它非常像用Java和Swing制作的游戏。只需覆盖
expose
信号,并为定期重画创建
计时器这是一篇关于在PyGTK中开发2D蛇游戏的文章

在伪代码中,您为游戏基础架构所做的一切是:

start()
{
    tick_timer( 1.0 / FPS );
    load_all_sprites_etc();
}

tick()
{
    update();
    game_board.expose(); // game_board is a GTKWidget, preferably a DrawingArea
}

expose_event()  // connected to game_board
{
    drawing_code();
}

update() 
{
    game_physics();
    game_logic();
}