4

I am interested in making a GUI-intensive strategy game with C++ and GTK+. What I would like to know is how feasible it would be to add 2D game graphics to a GTK program. Basically I would be wanting something like a game screen, with interactable 2D graphics, flanked by menus and the ability to navigate to other screens that would be GUI only.

Note that I have never used GTK before, nor have I before programed a GUI (nor graphics either).

4

2 に答える 2

5

確かに GTK では可能ですが、その仕事に適したツールを使用しているかどうかを自問する必要があります。アニメーションにはるかに適しており、GTK と統合する Clutter を使用します。または、さらに良いのは、ゲーム プログラミング ツールキットを使用することです。

以下は、Clutter で作成された 2 つの非集中的な概念実証ゲームの例で、ソース コードへのリンクが含まれています。

于 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 に答える