c++ - 将图像设置为 DrawingArea 的背景

标签 c++ gtk gtkmm

我正在使用 gtkmm 和 cairo 制作平台游戏,但我找不到将图像设置为背景的方法,因此我不必在每次绘制事件时重新绘制它。我将图像作为 pixbuf 进行管理。 这真的可能吗,还是我认为错了?

最佳答案

重画事件总是必要的。区别在于谁必须照顾它们。较低级别的图书馆(例如开罗)要求您这样做。

也许你应该看看Goocanvas 。特别是对于需要轻松移动物体并捕获事件的游戏,比 Cairo 更高级别的库会很方便。 GooCanvas 还可以处理屏幕重绘。

您可以直接使用 GooCanvasImage 放入图像,然后就不用管它了。

如果您未绑定(bind) C++,请查看 PyGame对于 Python - 它不仅处理这些事件,还提供大量其他游戏编程工具。

关于c++ - 将图像设置为 DrawingArea 的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37891979/

相关文章:

gtk - 如何在 GTK+3 中设置标题栏关闭按钮的主题?

linux - 如何在 Linux 中为 alt-tab 使用 128x128 图标?

c++ - gtk+ 图像在 C++ 中绘制图像

c++ - std::cout operator<< 的奇怪行为

c++ - UDP端口的低延迟读取

c - GtkButton 发出 GDK_KEY_PRESS

c++ - Gtk notebook - 存储/恢复分离的标签

c++ - 如何在没有 MSYS 的情况下将 gtkmm 与 MinGW (g++) 一起使用?

c++ - 在给定指向父类(super class)的指针的子类上调用方法

c++ - 循环 C++ header 包括