Namespaces
Variants
Actions
(Difference between revisions)

Animated Moving Ball in Qt and WP7

Jump to: navigation, search
m (Hamishwillee - Remove app hub link)
m (Text replace - "<code cpp>" to "<code cpp-qt>")
Line 57: Line 57:
 
</code>
 
</code>
 
When user clicks on any place of the device screen we catch the ''x'' and ''y'' coordinates and update the position of the circle.
 
When user clicks on any place of the device screen we catch the ''x'' and ''y'' coordinates and update the position of the circle.
<code cpp>
+
<code cpp-qt>
 
MouseArea{
 
MouseArea{
 
             anchors.fill:parent
 
             anchors.fill:parent
Line 93: Line 93:
 
When user clicks on any place of the device screen it catches the ''x'' and ''y'' coordinates of the point and updates the position of the circle.
 
When user clicks on any place of the device screen it catches the ''x'' and ''y'' coordinates of the point and updates the position of the circle.
  
<code cpp>
+
<code cpp-qt>
 
double pointX = e.GetPosition(null).X;
 
double pointX = e.GetPosition(null).X;
 
double pointY = e.GetPosition(null).Y;
 
double pointY = e.GetPosition(null).Y;

Revision as of 04:20, 11 October 2012

This article demonstrates how to create an animated moving ball using Qt Quick and WP7.

WP Metro Icon Color.png
WP Metro Icon Porting.png
Article Metadata

Code Example
Tested with
Devices(s): N8 (Nokia Belle)

Compatibility
Platform(s): Windows Phone 7.5, Symbian^3

Platform Security
Signing Required: Self-Signed

Article
Keywords: Animation
Created: somnathbanik (14 Apr 2012)
Last edited: hamishwillee (11 Oct 2012)

Contents

Introduction

This is a very basic article for beginners to show how to create an animated moving ball in both Qt and WP7. When user clicks on the device screen the ball moves to the clicked area.

Note.png
Note: The screenshots above are static. The best way to view the animation is to run the code on a device or simulator.

Implementation

Both Qt and Windows Phone apps draw a circle. When a user clicks on the device screen we take the x and y coordinates of that point and change the ball position to that point with an animated behavior.

Qt Project (MainPage.qml)

We create a Rectangle element with a certain radius to make it a circle.

Rectangle {
id: rectRed
width: 20; height: 20
radius: 10
color: "green"
}

To change the x and y coordinates of the circle in an animated manner we use SmoothedAnimation Element.

Behavior on x { SmoothedAnimation { velocity: 200 } }
Behavior on y { SmoothedAnimation { velocity: 200 } }

When user clicks on any place of the device screen we catch the x and y coordinates and update the position of the circle.

MouseArea{
anchors.fill:parent
onClicked:
{
rectRed.x = mouseX
rectRed.y = mouseY
}
}

This will give a feeling of linear animated behavior of the motion of the circle.

WP7 Project (MainPage.xaml)

In WP7 we draw a Canvas and add a circle inside it using EllipseGeometry.

<EllipseGeometry x:Name="myCircle"    Center="200,100" RadiusX="15" RadiusY="15" />

We then define a Storyboard to animate the ball.

<Storyboard x:Name="myStoryboard"> 
<PointAnimation
x:Name="myAnimation"
Storyboard.TargetProperty="Center"
Storyboard.TargetName="myCircle"
Duration="0:0:0.5"/>
</Storyboard>

When user clicks on any place of the device screen it catches the x and y coordinates of the point and updates the position of the circle.

double pointX = e.GetPosition(null).X;
double pointY = e.GetPosition(null).Y;
Point myPoint = new Point();
myPoint.X = pointX;
myPoint.Y = pointY;
myAnimation.To = myPoint;
myStoryboard.Begin();

This will give a similar animated behavior like Qt.

Summary

This article is mainly for beginners who want to have an idea about basic animation in both Qt and WP7.

Source Code

316 page views in the last 30 days.
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved