- Home /
OnDrag Draw Line For Pathfinding...
I have a 2D game going and I want to add 2d pathfinding.
I want to know how to draw a ray from where you click and end where you release. (drag to draw using on Click and onDragRelease)
Since it is 2D I will need to set the position of the z axis to be the same no matter where you click.
Then I would need to make the unit follow the ray/path.
How will I do this? (Please post some code along with an answer)
Thanks! :D
Answer by StephanK · Jul 17, 2010 at 05:25 AM
You can find out the world position of your mouse using Camera.mainCamera.ScreenToWorldPoint(Input.mousePosition). You will have to set the z component of Input.mousePosition by yourself. To do this you can either use the distance of the cam to your ground, or if this is not fixed (e.g. terrain with different heights) you can do a raycast from the mouse position to find out the distance. Then you would do something like this (pseudo code):
LineRenderer lr;
void Update () { if (Input.GetButtonDown("Fire1")) { lr.SetPosition(0,GetWorldPoint()); lr.SetPosition(1,GetWorldPoint()); lr.enabled = true; }
if (Input.GetButton("Fire1")) { lr.SetPosition(1,GetWorldPoint); }
if (Input.GetButtonUp("Fire1")) { lr.enabled = false; } }
As I said this is pseudo code, so the compiler probably won't like it. To make this into javascript you just have to decalare the variable as var lr : LineRenderer; and replace void with function.
Srry for being so dumb but there is an error with GetWorldPoint. $$anonymous$$aybe has to do with me using Unity iPhone?
No that hast to do with the code being pseudo code and that there is no GetWorldPoint method unless you write one yourself. ;) You'll have to do the stuff I mentioned in my post (raycasting etc.) in this method and return a Vector3.
Your answer
Follow this Question
Related Questions
Passing stuff from script to script (setting change-able waypoints) .... 1 Answer
The name 'Joystick' does not denote a valid type ('not found') 2 Answers
How to draw a line using script 8 Answers
Free script/plugin for drawing a line with a collider? 2 Answers
How to drag a GameObject with touch but at a limited speed 1 Answer