Sign in to follow this  

Target pointers for off-screen objects

Recommended Posts

viper110110    1114

I have a top down game where things sometimes go off the screen and you want to know where they are to go get them. I want markers on the edge of the screen to show where the target item is. I have tried a couple different strategies and none of them seem to be working. Here is my current one in case that helps.


Vector2 screenRatio = new Vector2(camera.Width, camera.Height);
                        Vector2 distance = snakePellets[i].worldPosition - snake.Head.worldPosition;
                        if (distance.X / distance.Y > (float)camera.Width / (float)camera.Height)
                            snakePellets[i].worldPosition.X = distance.X < 0 ? camera.position.X + 20 : camera.position.X + camera.Width - 20;
                            snakePellets[i].worldPosition.Y = MathHelper.Lerp(camera.Height / 2, camera.position.Y + camera.Height - 20, distance.Y / screenRatio.Y);

                            snakePellets[i].worldPosition.X = MathHelper.Lerp(camera.Width / 2, camera.position.X + camera.Width - 20, distance.X / screenRatio.X);
                            snakePellets[i].worldPosition.Y = distance.Y < 0 ? camera.position.Y + 20 : camera.position.Y + camera.Height - 20;

                        camera.draw(spriteBatch, snakePellets[i]);
                        snakePellets[i].worldPosition = oldPos;

Using c#/xna. The snakePellets[i] is the item I want to make a pointer to. I am currently just moving it to where I want the pointer to be, drawing it, then moving it back. This is all assuming the snake pellet is off the screen.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this