Български English Spanish Italian French 日本語

Забавени аминамции

Някога да сте искали потребителят да натисне нещо и тогава да пуснете серия от забавени събития? На пример, отваряне на лист и затварянето му отново?

Този пример показва червен кръг. Когато потребителят натисне кръга, той се анимира до квадрат и стартира таймер. Когато таймерът изтече, квадрата се анимира обратно до кръг.

  1. import QtQuick 1.0
  2.  
  3. Rectangle {
  4.     property int time: 800
  5.     property int size: 300
  6.     width: size; height: size; radius: size
  7.     color: "red"
  8.     Behavior on radius { NumberAnimation { duration: time } }
  9.     Timer {
  10.         id: reset
  11.         interval: time;
  12.         onTriggered: parent.radius = size
  13.     }
  14.  
  15.     MouseArea {
  16.         anchors.fill: parent
  17.         onClicked: {
  18.             parent.radius = 0;
  19.             reset.start()
  20.         }
  21.     }
  22. }

Забележете, че ако искате просто втората анимация да тръгне веднага след другата, можете да използвате SequentialAnimation. Целта на този пример е да покаже произволно закъснение в анимациите.

Тема от форума, в която това е обсъдено: http://developer.qt.nokia.com/forums/viewthread/2085/

Categories: