我对使用C ++和GTK +制作GUI密集型策略游戏感兴趣。我想知道的是将2D游戏图形添加到GTK程序是多么可行。基本上我会想要一些类似于游戏屏幕的东西,具有可交互的2D图形,两侧是菜单,并且能够导航到仅限GUI的其他屏幕。
请注意,我以前从未使用过GTK,也没有使用过编程GUI(也没有图形编程)。
答案 0 :(得分:4)
GTK肯定是可能的,但你必须问问自己,你是否正在使用正确的工具来完成工作。使用Clutter,它更适合动画并与GTK集成;或者更好的是,使用游戏编程工具包。
Here是使用Clutter编写的两个非强化概念验证游戏的示例,其中包含指向源代码的链接。
答案 1 :(得分:3)
这是可能的。我不久前用GTK和Vala做过。这是我写的关于它的blog post。基本上它与你用Java和Swing制作的游戏非常相似。只需覆盖expose
信号,即可为常规重绘创建timer
。 Here是一篇关于在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();
}