summaryrefslogtreecommitdiffstats
path: root/examples/declarative/follow
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2009-04-30 04:54:49 (GMT)
committerAaron Kennedy <aaron.kennedy@nokia.com>2009-04-30 04:54:49 (GMT)
commitf2fb6b63c6e5572d02245c64da652f13174588b9 (patch)
treeb12510b317cf9f01ecf01f9d4f082864207fc1b8 /examples/declarative/follow
parent0204346fb91eaf73893b651438980cb9ca5f1f51 (diff)
downloadQt-f2fb6b63c6e5572d02245c64da652f13174588b9.zip
Qt-f2fb6b63c6e5572d02245c64da652f13174588b9.tar.gz
Qt-f2fb6b63c6e5572d02245c64da652f13174588b9.tar.bz2
Convert all examples and demos from XML format
Diffstat (limited to 'examples/declarative/follow')
-rw-r--r--examples/declarative/follow/pong.qml173
1 files changed, 119 insertions, 54 deletions
diff --git a/examples/declarative/follow/pong.qml b/examples/declarative/follow/pong.qml
index 4fbf323..ed4a652 100644
--- a/examples/declarative/follow/pong.qml
+++ b/examples/declarative/follow/pong.qml
@@ -1,55 +1,120 @@
-<Rect id="Page" width="640" height="480" color="#000000">
- <!-- Make a ball to bounce -->
- <Rect id="Ball" x="20" width="20" height="20" color="#00ee00" z="1">
- <properties>
- <!-- Add a property for the target y coordinate -->
- <Property name="targetY" value="{Page.height-10}"/>
- <Property name="direction" value="right"/>
- </properties>
- <x>
- <!-- Move the ball to the right and back to the left repeatedly -->
- <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"/>
- </SequentialAnimation>
- </x>
- <y>
- <!-- Make y follow the target y coordinate, with a velocity of 200 -->
- <Follow source="{Ball.targetY}" velocity="200"/>
- </y>
- <onTopChanged>
- <!-- Detect the ball hitting the top or bottom of the view and bounce it -->
- if (y &lt;= 0)
+Rect {
+ id: Page
+ width: 640
+ height: 480
+ color: "#000000"
+ // Make a ball to bounce
+ Rect {
+ id: Ball
+ x: 20
+ width: 20
+ height: 20
+ color: "#00ee00"
+ z: 1
+ // Add a property for the target y coordinate
+ 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"
+ }
+ }
+ // Make y follow the target y coordinate, with a velocity of 200
+ y: Follow {
+ source: Ball.targetY
+ velocity: 200
+ }
+ // Detect the ball hitting the top or bottom of the view and bounce it
+ onTopChanged: { if (y <= 0)
targetY = Page.height-20;
- else if (y &gt;= Page.height-20)
- targetY = 0;
- </onTopChanged>
- </Rect>
- <!--
- Place bats to the left and right of the view, following the y
- coordinates of the ball.
- -->
- <Rect id="LeftBat" color="#00ee00" x="2" width="20" height="90">
- <y>
- <Follow source="{Ball.y-45}" velocity="300" enabled="{Ball.direction == 'left'}"/>
- </y>
- </Rect>
- <Rect id="RightBat" x="{Page.width-22}" color="#00ee00" width="20" height="90">
- <y>
- <Follow source="{Ball.y-45}" velocity="300" enabled="{Ball.direction == 'right'}"/>
- </y>
- </Rect>
-
- <!--
- The rest, to make it look realistic, if neither ever scores...
- -->
- <Rect color="#00ee00" width="40" height="60" x="{320-80}"/>
- <Rect color="#000000" width="20" height="40" x="{320-70}" y="10"/>
- <Rect color="#00ee00" width="40" height="60" x="{320+40}"/>
- <Rect color="#000000" width="20" height="40" x="{320+50}" y="10"/>
- <Repeater dataSource="{24}">
- <Rect color="#00ee00" width="10" height="10" x="{320-5}" y="{index*20}"/>
- </Repeater>
-</Rect>
+ else if (y >= Page.height-20)
+ targetY = 0; }
+ }
+ // Place bats to the left and right of the view, following the y
+ // coordinates of the ball.
+ Rect {
+ id: LeftBat
+ color: "#00ee00"
+ x: 2
+ width: 20
+ height: 90
+ y: Follow {
+ source: Ball.y-45
+ velocity: 300
+ enabled: Ball.direction == 'left'
+ }
+ }
+ Rect {
+ id: RightBat
+ x: Page.width-22
+ color: "#00ee00"
+ width: 20
+ height: 90
+ y: Follow {
+ source: Ball.y-45
+ velocity: 300
+ enabled: Ball.direction == 'right'
+ }
+ }
+ // The rest, to make it look realistic, if neither ever scores...
+ Rect {
+ color: "#00ee00"
+ width: 40
+ height: 60
+ x: 320-80
+ }
+ Rect {
+ color: "#000000"
+ width: 20
+ height: 40
+ x: 320-70
+ y: 10
+ }
+ Rect {
+ color: "#00ee00"
+ width: 40
+ height: 60
+ x: 320+40
+ }
+ Rect {
+ color: "#000000"
+ width: 20
+ height: 40
+ x: 320+50
+ y: 10
+ }
+ Repeater {
+ dataSource: 24
+ Rect {
+ color: "#00ee00"
+ width: 10
+ height: 10
+ x: 320-5
+ y: index*20
+ }
+ }
+}