Followers 0

# Target pointers for off-screen objects

## 0 posts in this topic

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);
screenRatio.Normalize();
Vector2 distance = snakePellets[i].worldPosition - snake.Head.worldPosition;
distance.Normalize();
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);
}
else
{

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.

0

## Create an account

Register a new account