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

时间:2012-04-28 21:10:07

标签: c++ user-interface graphics gtk

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

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

2 个答案:

答案 0 :(得分:4)

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

Here是使用Clutter编写的两个非强化概念验证游戏的示例,其中包含指向源代码的链接。

答案 1 :(得分:3)

这是可能的。我不久前用GTK和Vala做过。这是我写的关于它的blog post。基本上它与你用Java和Swing制作的游戏非常相似。只需覆盖expose信号,即可为常规重绘创建timerHere是一篇关于在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();
}