以及即時嘗試使用順序動畫一次動畫多個對象。爲了我的目的,我需要從順序動畫(和數字動畫)的decleration之外訪問它。這工作正常,但只設置一個動畫時一個對象。如果我爲每個對象定義一個數字動畫,這將起作用 - 但我不想這樣做,因爲稍後我要在循環內分配動畫,動畫的大小會有所不同。所以我故意調用同一個數字動畫對象。有沒有一種方法來動畫一堆對象,而無需定義每個數字動畫?下面是一些代碼:如何在qml中動畫多個對象
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}
}
UPDATE嗨傢伙的感謝您的答覆的。上述問題已被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}
}
但它不工作。這是我需要做的。謝謝
'@GrecKo' 謝謝,那是偉大的,但我真的需要它要做的是在循環調用中工作。像'Component.onCompleted:{var array = [rec1,rec2] for(i = 0; i <2; i ++){seq.access.targets = [array [i]] seq.access.property =「y」 seq.access.to = 50 seq.start()}}' – LeeH
你爲什麼要這樣? 你想延遲啓動它們嗎? – GrecKo
嗨,不是延遲,而是來自任何位置的命令 – LeeH