C++ 使用 GTK+ 制作 2D 游戏图形

C++ Making 2D game graphics with GTK+

本文关键字:游戏 图形 2D 制作 使用 GTK+ C++      更新时间:2023-10-16

我有兴趣用C++和GTK+制作一个GUI密集型策略游戏。我想知道的是将2D游戏图形添加到GTK程序中的可行性。基本上,我想要像游戏屏幕这样的东西,具有可交互的2D图形,两侧是菜单以及导航到其他仅是GUI的屏幕的能力。

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

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

下面是两个使用杂乱代码编写的非密集概念验证游戏的示例,并附有指向其源代码的链接。

这是可能的。前段时间我和GTK和Vala一起做过。这是我写的一篇关于它的博客文章。基本上,它非常像你用Java和Swing制作的游戏。只需覆盖expose信号并为定期重绘创建一个timer即可。这是一篇关于在PyGTK中开发2D Snake游戏的文章。

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

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();
}