- Home /
[2D] Problem With Mouse Follow Object
Hi,
Having a problem with getting a game object to follow the mouse. I'm trying to show the player the range of turrets, so when they start placing one, this object with a circular texture follows the mouse.
The answer here brought me part of the way, but every time the mouse enters the lower half of the screen the circle disappears. This is the code I'm using in the update loop of the object that is following the mouse:
temp = Input.mousePosition;
temp.z = this.transform.position.z - mainCamera.transform.position.z;
transform.position = mainCamera.ScreenToWorldPoint(temp);
I'm using the X + Z axes, with Y = 0. Any advice on how to solve this? Thanks
Noticed the y was going above the camera, so just brute forced it with this code:
temp = Input.mousePosition;
temp.z = this.transform.position.z - mainCamera.transform.position.z;
transform.position = mainCamera.ScreenToWorldPoint(temp);
temp2 = transform.position;
temp2.y = 1;
transform.position = temp2;
Answer by belvita · Nov 29, 2013 at 05:19 PM
u must use mouse raycast for something like this add this to ur update func
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
GameObject urOBJ=GameObject.FindWithTag("urobjTAGname");
if( Physics.Raycast( ray,out hit) )
{
if(urOBJ)
{
urOBJ.transform.position=new
Vector3(hit.point.x,hit.point.y,0);
}
Thanks, but I don't think raycasting will work very well in this situation, as there are objects between the camera and the terrain.
U can use layers to separate the objects in between camera and terrain
Your answer
Follow this Question
Related Questions
2D character arms that aren't a separate object look at mouse. 1 Answer
Expand object on touch? 1 Answer
Mouse follow collider in a 2D game 0 Answers
making an object move to a certain point 3 Answers