- Home /
With a gameobject cursor, what would be the best way to get it to follow the real cursor, but locked to a grid?
I am trying to develop a simple solution to get my gameobject cursor following the real cursor within a limited grid. It should be locked to the grid so it doesn't move diagonal, just left/right, but follows the cursor along the path it's moved in. Has anyone seen solutions that would help with this?
Answer by ArkaneX · Sep 12, 2013 at 11:01 PM
If you require cursor to jump between grid points, then you can use this sample solution:
public GUITexture cursor;
private float gridSize = 50f;
void Update()
{
var x = Mathf.RoundToInt(Input.mousePosition.x / gridSize) * gridSize;
var y = Mathf.RoundToInt(Input.mousePosition.y / gridSize) * gridSize;
var rect = cursor.pixelInset;
rect.x = x - Screen.width / 2;
rect.y = y - Screen.height / 2;
cursor.pixelInset = rect;
}
I was actually trying something like that, although just Round, not RoundToInt. However, this is a gameobject, not a GUITexture, acting as a physical cursor - basically an object following the mouse along a grid. For some reason, it's not snapping either.
cursorPosistion.x = $$anonymous$$athf.RoundToInt((Input.mousePosition.x / gridX) * gridX);
cursorPosistion.y = $$anonymous$$athf.RoundToInt((Input.mousePosition.y / gridY) * gridY);
cursorPosistion.z = 8.5f;
cursorSelector.transform.position = Camera.mainCamera.ScreenToWorldPoint(cursorPosistion);
The problem is that you're dividing by gridX and then instantly multiplying by gridX, thus you're getting the initial value, which you pass to RoundToInt. You have to change your lines to:
cursorPosition.x = $$anonymous$$athf.RoundToInt(Input.mousePosition.x / gridX) * gridX;
cursorPosition.y = $$anonymous$$athf.RoundToInt(Input.mousePosition.y / gridY) * gridY;
Please note there are only one pair of parentheses in each line.
@Teonnyn - if my answer helped to solve your issue, please mark it as correct - this is the way users here gain karma. It's just like gaining experience points in Role Playing Games for doing quests.
Your answer

Follow this Question
Related Questions
Trying to make an object follow my cursor 1 Answer
Moving forward towards the cursor with LookAtMouse? 0 Answers
my gun wont follow my mouse 0 Answers
Make a camera follow an object 1 Answer
ai pathfinding project getting started scene problems 1 Answer