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

4

我希望使用C++和GTK+制作一个GUI密集型的策略游戏。我想知道的是,将2D游戏图形添加到GTK程序中是否可行。基本上,我需要像游戏屏幕那样的东西,有可以交互的2D图形,旁边是菜单和导航到其他仅为GUI的屏幕的能力。

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

2个回答

5
使用GTK肯定是可行的,但你必须问自己是否正在使用正确的工具。使用Clutter,它更适合动画,并与GTK集成; 或者更好的选择是使用游戏编程工具包。

这里有两个使用Clutter编写的非密集概念验证游戏的示例,附有其源代码链接:Here


4
可以。我之前用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();
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接