×
Namespaces

Variants
Actions
(Difference between revisions)

Animated Moving Ball in Qt and Windows Phone

From Nokia Developer Wiki
Jump to: navigation, search
hamishwillee (Talk | contribs)
m (Text replace - "<code cpp>" to "<code cpp-qt>")
hamishwillee (Talk | contribs)
m (Hamishwillee -)
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:Qt Quick]][[Category:Windows Phone]][[Category:Code Examples]][[Category:Porting]][[Category:Animation]][[Category:Silverlight]]
+
[[Category:Porting Windows Phone and Qt]][[Category:Code Examples]][[Category:Windows Phone 8]][[Category:Windows Phone 7.5]][[Category:XAML]]
{{Abstract|This article demonstrates how to create an animated moving ball using Qt Quick and WP7.}}
+
{{Abstract|This article demonstrates how to create an animated moving ball using Qt Quick and Windows Phone.}}
 
{{SeeAlso|
 
{{SeeAlso|
 
* [http://doc.qt.nokia.com/4.7/qdeclarativeanimation.html QML Animations and Transitions]
 
* [http://doc.qt.nokia.com/4.7/qdeclarativeanimation.html QML Animations and Transitions]
Line 10: Line 10:
 
|sourcecode= [[Media:MovingBallWp7.zip]] [[Media:MovingBallQML.zip]]  
 
|sourcecode= [[Media:MovingBallWp7.zip]] [[Media:MovingBallQML.zip]]  
 
|installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) -->
 
|installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) -->
|devices= N8 (Nokia Belle)
+
|devices= N8 (Nokia Belle), Nokia Lumia 820, Lumia 920
|sdk= [http://www.developer.nokia.com/Develop/Windows_Phone/Tools/ Windows Phone SDK 7.1]
+
|sdk= [http://www.microsoft.com/en-us/download/details.aspx?id=35471 Windows Phone SDK 8.0], Windows Phone SDK 7.1
|platform= Windows Phone 7.5, Symbian^3
+
|platform= Windows Phone 8.0/ 7.1, Symbian^3
 
|devicecompatability= <!-- Compatible devices e.g.: All* (must have internal GPS) -->
 
|devicecompatability= <!-- Compatible devices e.g.: All* (must have internal GPS) -->
 
|dependencies= <!-- Any other/external dependencies e.g.: Google Maps Api v1.0 -->
 
|dependencies= <!-- Any other/external dependencies e.g.: Google Maps Api v1.0 -->
Line 30: Line 30:
 
}}
 
}}
 
==Introduction==
 
==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.  
+
This is a very basic article for beginners to show how to create an animated moving ball in both Qt and Windows Phone. When user clicks on the device screen the ball moves to the clicked area.  
 
<gallery widths=200px heights=400px>
 
<gallery widths=200px heights=400px>
 
File: MovingBallQML.png|Animated moving ball in Qt
 
File: MovingBallQML.png|Animated moving ball in Qt
Line 88: Line 88:
 
Duration="0:0:0.5"/>
 
Duration="0:0:0.5"/>
 
</Storyboard>
 
</Storyboard>
 
 
</code>
 
</code>
  
 
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-qt>
+
<code csharp>
 
double pointX = e.GetPosition(null).X;
 
double pointX = e.GetPosition(null).X;
 
double pointY = e.GetPosition(null).Y;
 
double pointY = e.GetPosition(null).Y;
Line 106: Line 105:
  
 
==Summary==
 
==Summary==
This article is mainly for beginners who want to have an idea about basic animation in both Qt and WP7.  
+
This article is mainly for beginners who want to have an idea about basic animation in both Qt and Windows Phone.  
  
 
==Source Code==
 
==Source Code==
 
*The full source code of Qt example is available here: [[File: MovingBallQML.zip]]
 
*The full source code of Qt example is available here: [[File: MovingBallQML.zip]]
*The full source code of WP7 example is available here: [[File: MovingBallWp7.zip]]
+
*The full source code of Windows Phone example is available here: [[File: MovingBallWp7.zip]]

Latest revision as of 10:20, 16 July 2013

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

WP Metro Icon Porting.png
SignpostIcon XAML 40.png
WP Metro Icon WP8.png
SignpostIcon WP7 70px.png
Article Metadata
Code ExampleTested with
SDK: Windows Phone SDK 8.0, Windows Phone SDK 7.1
Devices(s): N8 (Nokia Belle), Nokia Lumia 820, Lumia 920
Compatibility
Platform(s): Windows Phone 8.0/ 7.1, Symbian^3
Windows Phone 8
Windows Phone 7.5
Platform Security
Signing Required: Self-Signed
Article
Keywords: Animation
Created: somnathbanik (14 Apr 2012)
Last edited: hamishwillee (16 Jul 2013)

Contents

[edit] Introduction

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

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

[edit] 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.

[edit] 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.

[edit] 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.

[edit] Summary

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

[edit] Source Code

This page was last modified on 16 July 2013, at 10:20.
145 page views in the last 30 days.
×