4

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

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

4

2 回答 2

5

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

是使用 Clutter 编写的两个非密集型概念验证游戏的示例,带有指向其源代码的链接。

于 2012-04-29T09:42:03.560 回答
4

这是可能的。前段时间我用 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();
}
于 2012-04-29T09:47:37.683 回答