2017-05-31 11 views
-1

私はレンダリング手法としてGTK3を使用してゲームを行っています(ひどい考えですが、それは学校プロジェクトです)。サイズ変更せずにウィジェットをコンテナの外に移動する方法はありますか?

私のゲームオブジェクトはイメージウィジェットで作成され、固定コンテナに置かれます。それはかなりうまくいっていますが、ウイジェットを右または下の境界線に動かすと、ウインドウはそれと共に自動的に成長します。

ウィジェットがその領域を離れて見えなくなった場合、ウィンドウがサムサイズ、イベントに留まるようにします。それは、ウィジェットを上または左の境界線を越えて移動するときに機能します。

私はgtk_widget_set_vexpandgtk_widget_set_hexpandを使用してみました。私のウィンドウはサイズ変更できないように設定されています(gtk_window_set_resizable)。

私はこれを達成する方法はありますか?

+0

これはまだGTK +の悪用ですが、GtkFixedの代わりにGtkLayoutを使用してみてください。それでもうまくいかない場合は、GtkScrolledWindowを使用してスクロールしないように設定してください。 – andlabs

+0

感謝します! :) GtkLayoutが問題を修正しました。 私はGtkScrolledウィンドウも試しましたが、この醜いスクロールバーを広告します。 GtkLayoutは素晴らしい –

答えて

0

これはGTK +を使用する正しい方法ではありません。 GTK +は、GUIプログラムでウィジェットをレイアウトするためのものです。

2D要素のアニメーションにはより良いオプションがあります。 GTK +でネイティブに動作するものはthe Clutter libraryです。また、SDLやOpenGLなどを統合することもできます。

GtkLixoutをGtkFixedの代わりに使用することも、GtkScrolledWindowにGtkFixedを入れてスクロールバーを非表示にして、スクロールを防止するスクロールポリシーを設定することもできます。それは技術的にはまだ誤っているのですが、GtkFixed(とGtkLayoutもそうだとは言えませんが)は本当に必要な場合を除いて、実際には使用されていないと思われます。余分な依存関係はありません。

関連する問題