Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

witty

Moving from A to B

This topic is 5579 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Right, I have 2 points. I want point A to move toward point B at a set speed. Assuming this is done each frame, and if I have the x,y positions of the two points. As well as the x,y velocity of point A, how can I set up the velocity to move in that direction?

Share this post


Link to post
Share on other sites
Advertisement
first of all: don''t use frame rate dependant movement. if i run your thing on a 50 mhz 486 i''m going to wait me to death until your point arrives


use a vector to represent your movement:

vector
{
float x, y;

vector(float x, float y)
{
this->x = x;
this->y = y;
}

void normalize(void)
{
float _l = 1.0f/sqrt(x*x + y*y);
x *= _l;
y *= _l;
}
}

then, *setup* the vectors orientation to point in the direction from point A to point B and have unit length:

vector movement ( PointB.x - PointA.x, PointB.y - PointA.y );
movement.normalize();

now, you can add the movement vector to Point A''s coordinates:
(set delta_t to be a constant value if you want to use frame rate dependant motion)

PointA.x += movement.x * movement_speed * delta_t;
PointA.y += movement.y * movement_speed * delta_t;

to change the velocity, change movement_speed.

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!