我正在使用Clutter和Vala为不同的东西制作动画。但是当我例如围绕z轴旋转演员时,它不仅仅是旋转自己。相反,它围绕着左上角的cornor旋转,好像它是中心点。我认为它与bindcontraint有关,但无法找到有关它的更多信息。
所以我的问题是:如何让演员围绕自己的中心点旋转?
任何例子都表示赞赏:)提前感谢
答案 0 :(得分:2)
您想使用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