【问题标题】:What is the proper way to animate clutter actors that have been added in a LayoutManager?为已添加到 LayoutManager 中的杂乱演员设置动画的正确方法是什么?
【发布时间】:2015-04-13 20:32:11
【问题描述】:
我有一个阶段,其中包含许多 Clutter.Actor(和一个嵌入 TreeView 的 GtkClutter.Actor),它们被添加到布局管理器(比如说 GridLayout)。
现在我想用动画来移动它们,使用translation_x、translation_y 并调整它们的width 的大小。
推荐的方法是什么?
按规则放置演员的布局会不会和演员的新位置冲突?
我是否应该切断与布局的联系(通过取消 layoutmanager 属性)?
【问题讨论】:
标签:
animation
gnome
vala
clutter
【解决方案1】:
所有ClutterLayoutManager 实现都尊重演员的缓动状态,因此如果将缓动状态的持续时间设置为非零值,则分配中的所有更改都将被隐式动画化。您可以在 Clutter 自带的 layout manager example 中看到效果。
持续时间不为零的缓动状态还允许您转换 width 和 height 等属性,以及转换属性,例如 translation-x 和 translation-y。
需要注意的是,转换属性不影响布局管理;如果你改变一个actor的缩放、深度、旋转或平移,你是在actor被分配之后才做的。您可以利用这些知识来实现转换。