我正在使用GTK3作为渲染技术进行游戏(糟糕的想法,但这是一个学校项目)。
我的游戏对象由图像小部件组成,并放置在固定容器中。它工作得很好,但是当我移动小部件右侧或底部边框时,窗口会随之自动增长。
我希望窗口保持在山姆大小,如果窗口小部件离开其区域并变得不可见,则会发生事件。当我将小部件移过上边框或左边框时,它可以正常工作。
我尝试使用 gtk_widget_set_vexpand 和 gtk_widget_set_hexpand 。我的窗口设置为不可调整大小( gtk_window_set_resizable )。
有什么方法可以实现这个目标吗?
答案 0 :(得分:0)
这不是使用GTK +的正确方法。 GTK +用于在GUI程序中布置小部件。
为2D元素设置动画有更好的选择。与GTK +本身一起使用的是the Clutter library。如果您愿意,还可以集成SDL或OpenGL等。
话虽这么说,您也可以使用GtkLayout而不是GtkFixed,或者将GtkFixed放在GtkScrolledWindow中并隐藏滚动条并设置滚动策略以防止滚动。它仍然在技术上被误用,事实上GtkFixed(也可能是GtkLayout,但文档不会说)除非绝对必要,否则不应再被使用,因为它不会给你自动支持对于棘手的UI布局问题,但它没有额外的依赖关系。