【问题标题】:Clutter: Perspective, Skew, and Matrices杂波:透视、偏斜和矩阵
【发布时间】:2019-12-26 09:57:30
【问题描述】:

有没有办法改变给定容器或小部件的混乱视角?

杂波透视控制屏幕上所有杂波演员在旋转、平移、缩放等时如何显示。

  1. 我真正想做的是将透视图的原点从屏幕中心更改为另一个坐标

我弄乱了一些舞台方法。但是,我没有太多运气理解一些结果,而且我经常遇到一些稳定性问题。

我知道有一些转换矩阵可以执行所有底层逻辑,并且有文档记录的方法可以更改转换矩阵。老实说,我没有进一步研究,尽管我会在花费大量时间之前寻求指导。

  1. 这让我想到了另一个关于矩阵和转换的问题。这些矩阵之一可以用于扭曲演员吗?或将其变形为梯形等?以及如何开始的任何想法,即。倾斜矩阵是什么样的?

  2. 最后,有人知道为什么不推荐使用剪辑路径吗?似乎这对我最终想要做的事情有用:在屏幕上绘制不规则形状的 2d 对象如果我可以实现问题 2 的答案,那么我猜一个带有转换的剪辑框可以是在这里使用。

【问题讨论】:

    标签: clutter gnome-shell-extensions gjs


    【解决方案1】:

    1,我不知道是否(或如何)改变 Clutter 阶段的焦点。

    2 skew 或shear transformation matrix 很容易构造,并且可以在GJS Clutter 函数Clutter.Actor.set_transform(T)Clutter.Actor.set_child_transform(T) 中实现,其中T 是Clutter.Matrix。

    然而,对于当前的代码库,这确实带来了另一个问题;这就引出了另一个问题。 (我想我应该把它贴在别的地方)。但是,当对杂波演员(或其子演员)设置变换时,将忽略演员的其余属性。这增加了 Tweener 库不能用于这些属性的动画的效果。

    3 最后,可以使用 Cairo 在 Clutter actor 上绘制不规则形状的对象和路径,但是,actor 的反应区域(即鼠标进入和离开事件)仍然会是针对整个演员的,而不是由开罗路径定义的。

    【讨论】:

      猜你喜欢
      • 2011-06-07
      • 1970-01-01
      • 1970-01-01
      • 2011-03-09
      • 2015-08-06
      • 2014-04-06
      • 1970-01-01
      • 2023-04-02
      • 2012-03-23
      相关资源
      最近更新 更多