作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用顺序动画同时为多个对象设置动画。出于我的目的,我需要从顺序动画(和数字动画)减速的外部访问它。这工作正常,但在设置时一次只能为一个对象设置动画。如果我为每个对象定义一个数字动画,这将起作用 - 但我不想这样做,因为稍后我想在大小不同的循环内分配动画。所以我故意调用同一个数字的动画对象。有没有一种方法可以在不定义每个数字动画的情况下对一堆对象进行动画处理?这是一些代码:
Component.onCompleted: {
seq.access.target = rec1
seq.access.property = "y"
seq.access.to = 50
seq.start()
seq.access.target = rec2
seq.access.property = "y"
seq.access.to = 50
seq.start()
}
Rectangle{
id: rec1
width: 50
height: 50
color: "red"
}
Rectangle{
id: rec2
x: 100
width: 50
height: 50
color: "blue"
}
SequentialAnimation{
id: seq
property alias access: num
NumberAnimation{id: num}
}
更新嗨,感谢您的回复。 GrecKo的解决方案已经解决了上述问题,但我还没有解决...我需要能够在循环中进行每个目标或目标设置。我认为通过让上面的代码工作,如果数组中的目标相同,它应该/将会工作:
...
property int i
Component.onCompleted: {
var array = [rec1, rec2]
for(i = 0; i < array.length; i++){
seq.access.targets = [array[i]]
seq.access.property = "y"
seq.access.to = 50
seq.start()
}
}
Rectangle{
id: rec1
width: 50
height: 50
color: "red"
}
Rectangle{
id: rec2
x: 100
width: 50
height: 50
color: "blue"
}
SequentialAnimation{
id: seq
property alias access: num
NumberAnimation{id: num}
}
但是它不起作用。这就是我需要做的。谢谢
最佳答案
如果你想对多个对象应用相同的动画,可以使用 targets
property为您的动画指定多个目标。
在您的示例中,您将像这样使用它:
Component.onCompleted: {
seq.access.targets = [rec1, rec2]
seq.access.property = "y"
seq.access.to = 50
seq.start()
}
关于javascript - 如何在 qml 中为多个对象设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37285842/
我是一名优秀的程序员,十分优秀!