[英]How to do basic animation with GTK3,C and Cairo only
假设我有一个 GTK 窗口,其中有一个绘图区域和一个按钮。
此外,该窗口还会在左下角(绘图区域内)显示球的当前 XY 坐标。
我只想使用C 、 GTK3和CAIRO 。
我在谷歌上搜索并找到了一个动画示例,而不是 GTk3,而是 GTK 的先前版本。 这些不适用于 GTK3。 我还阅读了 CAIRO 的官方、zetecode 的教程和其他一些网站。 我没有找到任何解决我的问题的方法。
我知道如何用 OpenGL 做到这一点,这很容易,但我不能对 CAIRO 和 GTK3 应用相同的逻辑。 请不要建议使用 GtkGlExt。 我不想使用它。
这里有个注释(即使您没有显示一些代码):这些年来,cairo开发人员一直在努力使其代码兼容。 正如我在cairo-doc上引用的那样:“始终保证从发行版到任何更高版本(发行版,快照,开发)的兼容性。”
到目前为止(我所知道的),开罗只有6个主要版本。 与gtk中的cairo的交互是由Gdk完成的,根据您尝试执行的操作,代码(谷歌搜索)我想它将仅包含GtkDrawingArea,cairo_t,cairo_arc,cairo_move_to,GtkButton(带有2个GCallbacks)和一些gdk -cairo交互函数,gtk_widget_translate_coordinates(),GRand / random()和循环。 这些项目从Gtk + 2.0开始就存在,并且现在仍然存在。 如果代码不起作用,请尝试删除“坐标小部件”部分(可能使用自定义GtkWidget)。 尝试将坐标放置在GtkDrawingArea之外(即GtkWindow);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.