Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Arrow up icon
GO TO TOP
Cocos2d-x by example (update)

You're reading from   Cocos2d-x by example (update) Unleash your inner creativity with the popular Cocos2d-x framework and learn how to build great cross-platform 2D games with this Cocos2dx tutorial

Arrow left icon
Product type Paperback
Published in Mar 2015
Publisher
ISBN-13 9781785288852
Length 270 pages
Edition 1st Edition
Tools
Arrow right icon
Author (1):
Arrow left icon
Roger Engelbert Roger Engelbert
Author Profile Icon Roger Engelbert
Roger Engelbert
Arrow right icon
View More author details
Toc

Table of Contents (19) Chapters Close

Cocos2d-x by Example Beginner's Guide Second Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
1. Installing Cocos2d-x FREE CHAPTER 2. You Plus C++ Plus Cocos2d-x 3. Your First Game – Air Hockey 4. Fun with Sprites – Sky Defense 5. On the Line – Rocket Through 6. Quick and Easy Sprite – Victorian Rush Hour 7. Adding the Looks – Victorian Rush Hour 8. Getting Physical – Box2D 9. On the Level – Eskimo 10. Introducing Lua! Vector Calculations with Cocos2d-x Pop Quiz Answers Index

What are vectors?


First, let's do a quick refresh on vectors and the way you can use Cocos2d-x to deal with them.

So what is the difference between a vector and a point? At first, they seem to be the same. Consider the following point and vector:

  • Point (2, 3.5)

  • Vec2 (2, 3.5)

The following figure illustrates a point and a vector:

In this figure, they each have the same value for x and y. So what's the difference?

With a vector, you always have extra information. It is as if, besides those two values for x and y, we also have the x and y of the vector's origin, which in the previous figure we can assume to be point (0, 0). So the vector is moving in the direction described from point (0, 0) to point (2, 3.5). The extra information we can derive then from vectors is direction and length (usually referred to as magnitude).

It's as if a vector is a person's stride. We know how long each step is, and we know the direction in which the person is walking.

In game development, vectors can be used, among other things, to describe movement (speed, direction, acceleration, friction, and so on) or the combining forces acting upon a body.

The vector methods

There is a lot you can do with vectors, and there are many ways to create them and manipulate them. And Cocos2d-x comes bundled with helper methods that will take care of most of the calculations for you. Here are some examples:

  • You have a vector, and you want to get its angle—use getAngle()

  • You want the length of a vector—use getLength()

  • You want to subtract two vectors; for example, to reduce the amount of movement of a sprite by another vector—use vector1 - vector2

  • You want to add two vectors; for example, to increase the amount of movement of a sprite by another vector—use vector1 + vector2

  • You want to multiply a vector; for example, applying a friction value to the amount of movement of a sprite—use vector1 * vector2

  • You want the vector that is perpendicular to another (also known as a vector's normal)—use getPerp() or getRPerp()

  • And, most importantly for our game example, you want the dot product of two vectors—use dot(vector1, vector2)

Now let me show you how to use these methods in our game example.

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime
Visually different images