diff options
Diffstat (limited to 'examples/declarative/follow/pong.qml')
-rw-r--r-- | examples/declarative/follow/pong.qml | 102 |
1 files changed, 19 insertions, 83 deletions
diff --git a/examples/declarative/follow/pong.qml b/examples/declarative/follow/pong.qml index b6695bd..32ee049 100644 --- a/examples/declarative/follow/pong.qml +++ b/examples/declarative/follow/pong.qml @@ -1,57 +1,29 @@ Rect { id: Page - width: 640 - height: 480 + width: 640; height: 480 color: "#000000" // Make a ball to bounce Rect { id: Ball - x: 20 - width: 20 - height: 20 color: "#00ee00" - z: 1 + x: 20; width: 20; height: 20; z: 1 // Add a property for the target y coordinate - properties: Property { - name: "targetY" - value: Page.height-10 - } - properties: Property { - name: "direction" - value: "right" - } + properties: Property { name: "targetY"; value: Page.height-10 } + properties: Property { name: "direction"; value: "right" } // Move the ball to the right and back to the left repeatedly x: SequentialAnimation { - running: true - repeat: true - NumericAnimation { - to: Page.width-40 - duration: 2000 - } - SetPropertyAction { - target: Ball - property: "direction" - value: "left" - } - NumericAnimation { - to: 20 - duration: 2000 - } - SetPropertyAction { - target: Ball - property: "direction" - value: "right" - } + running: true; repeat: true + NumericAnimation { to: Page.width-40; duration: 2000 } + SetPropertyAction { target: Ball; property: "direction"; value: "left" } + NumericAnimation { to: 20; duration: 2000 } + SetPropertyAction { target: Ball; property: "direction"; value: "right" } } // Make y follow the target y coordinate, with a velocity of 200 - y: Follow { - source: Ball.targetY - velocity: 200 - } + y: Follow { source: Ball.targetY; velocity: 200 } // Detect the ball hitting the top or bottom of the view and bounce it onTopChanged: { @@ -67,65 +39,29 @@ Rect { Rect { id: LeftBat color: "#00ee00" - x: 2 - width: 20 - height: 90 + x: 2; width: 20; height: 90 y: Follow { - source: Ball.y-45 - velocity: 300 + source: Ball.y-45; velocity: 300 enabled: Ball.direction == 'left' } } Rect { id: RightBat - x: Page.width-22 color: "#00ee00" - width: 20 - height: 90 + x: Page.width-22; width: 20; height: 90 y: Follow { - source: Ball.y-45 - velocity: 300 + source: Ball.y-45; velocity: 300 enabled: Ball.direction == 'right' } } // The rest, to make it look realistic, if neither ever scores... - Rect { - color: "#00ee00" - x: 320-80 - y: 0 - width: 40 - height: 60 - } - Rect { - color: "#000000" - x: 320-70 - y: 10 - width: 20 - height: 40 - } - Rect { - color: "#00ee00" - x: 320+40 - y: 0 - width: 40 - height: 60 - } - Rect { - color: "#000000" - x: 320+50 - y: 10 - width: 20 - height: 40 - } + Rect { color: "#00ee00"; x: 320-80; y: 0; width: 40; height: 60 } + Rect { color: "#000000"; x: 320-70; y: 10; width: 20; height: 40 } + Rect { color: "#00ee00"; x: 320+40; y: 0; width: 40; height: 60 } + Rect { color: "#000000"; x: 320+50; y: 10; width: 20; height: 40 } Repeater { dataSource: 24 - Rect { - color: "#00ee00" - x: 320-5 - y: index*20 - width: 10 - height: 10 - } + Rect { color: "#00ee00"; x: 320-5; y: index*20; width: 10; height: 10 } } } |