我正在使用 Clutter 和 Vala 为不同的东西制作动画。但是,例如,当我围绕 z 轴旋转一个演员时,它并不仅仅是围绕自己旋转。相反,它围绕左上角旋转,就好像它是中心点一样。我认为它与绑定约束有关,但找不到太多关于它的信息。
所以我的问题是:我怎样才能让演员围绕自身的中心点旋转?
任何例子表示赞赏:) 提前感谢
您想使用该Clutter.Actor.pivot_point
属性,它描述了所有变换(旋转、缩放、平移)的参考点。
重要的是要注意该pivot_point
属性是在归一化坐标空间中表示的,相对于actor本身的大小。所以:
actor.pivot_point = Clutter.Point() { x = 0.0, y = 0.0 };
是演员的左上角;
actor.pivot_point = Clutter.Point() { x = 1.0, y = 1.0 };
是演员的右下角;和
actor.pivot_point = Clutter.Point() { x = 0.5, y = 0.5 };
是参与者的中心——不管参与者的Clutter.Actor.width
和Clutter.Actor.height
属性中的值如何。
API 参考中提供了更多信息:https ://developer.gnome.org/clutter/stable/ClutterActor.html#ClutterActor--pivot-point