问题标签 [clutter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cairo - 如何子类化 Clutter.Actor(涉及 Cairo/Clutter.Canvas)
谁能帮我让它运行?我的目标是自定义演员。(最近几天我才刚刚开始使用 Vala 进行黑客攻击,而 Clutter 也是一个谜。)
drawme 方法正在运行(当调用 invalidate 时),但似乎没有发生任何绘图(通过 Cairo 上下文)。
ETA:我在构造函数中添加了一行来显示修复 - this.set_size。
cairo - 为什么 Cairo.set_source_rgb 绘制整个画布?
我正在玩杂物/开罗,我正在尝试绘制一个矩形;set_source_rgb
但是,无论我是否告诉它绘制一个矩形,它似乎都会自动使用其源绘制整个画布(也就是说,即使我删除了ctx.rectangle()
和ctx.fill()
线,矩形仍然被绘制)。为什么是这样?我需要做什么才能让矩形而不是 set_source_rgb 进行绘画?
python - Vala 到 Python 又回来了
我被困在试图从 Vala/C 向上进入 Python 并再次返回的路径。我所有的 google-fu 都在引导我转圈。我想使用 Vala 编写一个 API,然后从 Python(或者可能是 Gnome Javascript)中使用它。
使用 Clutter 作为我的示例(它也可能是 GTK+3 小部件)这是我的问题:我该如何 —</p>
去那里
编写一个自定义 Actor,单击该 Actor 将:
- 更改颜色 -注意:这是在Vala 处理程序中完成的。即vala 对象连接到一个'button-release' 事件。该处理程序调用一个 vala 方法: this.set_col('blue');
- 让它继续这个事件到 Python 中,连同一些数据——比如我想打印“我变蓝了!” - 所以我需要“蓝色”作为字符串。
在 Python 中,我会创建一个舞台并(不知何故 - 通过 GI 魔法)创建我的新演员。我做了所有的 Python 东西来设置它,我连接到同一个“按钮释放”事件(我猜..)
a) Vala 处理程序会运行,然后是 Python 处理程序吗?(按顺序,或根本没有。)
b) 我是否必须在 Vala 处理程序中做一些特别的事情——比如返回 true,或者可能发出一些新的信号让 Python 接收?
又回来了
假设演员叫 V。我如何: V.set_col('red') (在 Python 中)并让它运行 Vala set_col 方法,传递一个 Python 字符串?(我怀疑这是 GI 下的自动魔法,但我不确定。)
简而言之
我会很感激任何链接等,谢谢。
cairo - 用开罗绘制的画布填充自定义形状的杂波 Actor
Clutter 1.12
Cogl 1.10
Vala 或 C 或 Python。
我在这里可能有一个根本的误解——
我认为“演员”是 3D 多边形的东西。我将它们的颜色视为顶点颜色或纹理映射。鉴于此,我一直在尝试绘制一个自定义 Actor 并用通过 Cairo 绘制的内容填充它。我哪儿也去不了。
代码包含在下面(在 Vala 中)。任何人都可以让我正确了解 Clutter 的基础知识(文档只是没有删减它),或者,如果我很接近,请帮助我使该代码正常工作。
我希望看到一个带有笑脸的圆角矩形。我看到的是覆盖*脸部的 Cogl 路径填充。我认为paint() 是在drawme() 之后完成的
*如果您在方法paint() 中将Clutter.Color 设置为“#0001”,您会看到这一点。
c - 杂波/COGL 中的有效反射?
我正在开发一个使用 Clutter (1.10) 和 COGL 将元素呈现到显示器的程序。
我创建了一组要渲染视频的 ClutterTextures,并且我希望视频纹理具有反射。
实现这一点的“标准”方式似乎是每次绘制纹理时的回调,代码类似于:
然后将其连接到paint
ClutterTexture 上的信号。这里有一段类似的代码可以做类似的事情。(谷歌缓存,因为今天页面已经挂了)
我遇到的问题是反射效果导致性能下降 - 当我启用它时会丢失 5~7 fps。部分问题可能是我正在使用的低功耗硬件(Raspberry Pi)。
通过设置纹理的克隆并使其有点透明,我设法做了类似于这段代码所做的事情。这不会对性能造成任何影响。但是,与绘制回调方法不同的是,反射具有硬边并且不会淡出。
我想在不影响性能的情况下获得更好看的反射效果。我想知道是否有某种方法可以获得类似的效果,每次绘画不需要太多工作......还有很多其他的杂波和 COGL 方法可以操纵材质、着色器等,但我几乎没有没有 OpenGL 专业知识,所以我不知道我是否可以按照这些思路来做我想做的事情,甚至不知道如何找到我可以解决的类似事情的例子。
是否可以通过 Clutter/COGL 获得更好看的高性能反射效果?
c - gtk 中的杂乱舞台无法处理舞台鼠标按下事件
我曾尝试使用 clutter-gtk。我编写了一小段代码来创建一个 gtk 窗口,其中包含一个杂乱的阶段。我尝试在舞台上获得鼠标按钮按下事件,但什么也没有。
这是代码:
当我点击舞台时没有任何反应。我做了一些测试,我可以在主窗口上处理点击事件,在 clutter_widget 但不能直接在混乱阶段。
此代码是从http://www.openismus.com/documents/clutter_tutorial/0.9/docs/tutorial/html/sec-stage-widget.html修改的。在这篇文章中,作者将信号直接连接到舞台上,但此示例适用于 clutter 0.9,并且不再使用 clutter v > 1.0 进行编译。
关于我做错了什么的任何想法?
编辑
我已经用处理过的“按键事件”进行了一些测试。所以问题似乎来自舞台的事件面具。
有谁知道如何更改舞台的事件掩码以强制舞台对鼠标事件做出反应?
javascript - Clutter.Image 属性——从磁盘加载图像
使用 Javascript,因此非常糟糕的内省文档,我试图创建一个ClutterImage
应该替换已弃用的ClutterTexture
. 我无法确定用于指定要为此类图像加载的文件名/uri 的属性名称:
我目前的错误是:Error: No property uri on this GObject ClutterImage
这当然意味着我尝试用于 uri 的属性的名称无效。有谁知道我在哪里可以查到这个,或者知道ClutterImage
s 中的文件名/uri 属性是什么?
python - 杂乱无章的动画
杂波没有做完整的动画。
这是我当前的代码:
看看我的问题的这个例子:
对于那些不喜欢 gif 的人,我的问题是用文字描述的:我希望演员从中间向右移动,然后一直向左移动。相反,它只是从中间直接向左移动。
是什么原因造成的,我该如何解决?
user-interface - 如何在 Clutter 工具包中设置程序标题和图标?
我最近一直在学习如何使用 Clutter GUI 工具包进行编程。我无法弄清楚的一件事是如何为窗口管理器设置程序标题和图标。
如下图所示,Gnome Shell 显示程序名称为“未知”,并且该程序没有图标。
那么,我该怎么做呢?
user-interface - 我可以将文件拖放到 Clutter 演员上吗?
是否可以在 Clutter 中将文件从文件管理器 (Nautilus/Nemo) 拖到 Clutter 程序窗口中的参与者,然后让它对文件 (URI) 执行某些操作?
我查找并找到了 Clutter.DragAction,但看起来它仅用于 Clutter 阶段本身。
请提供 Python 中的任何示例。谢谢。