- Home /
Question by
error031 · Feb 23, 2016 at 11:02 PM ·
javascriptlinerenderer
LineRenderer not drawing on game screen
I am learning LineRenderer, but i have come to problem. Whenever I start game with play button, and clicke somwhere on the screen, it only draws line from center of the screen to clicked point, instead drawing all mouse clicks. But if I pause game, in my editor all clicked points are connected, just like I wanted on game screen.
var c1 : Color = Color.yellow;
var c2 : Color = Color.red;
var lengthOfLineRenderer : int = 20;
var n : int = 1;
var timer : float = 0;
function Start() {
var lineRenderer : LineRenderer = gameObject.AddComponent.<LineRenderer>();
lineRenderer.material = new Material (Shader.Find("Particles/Additive"));
lineRenderer.SetColors(c1, c2);
lineRenderer.SetWidth(0.2,0.2);
lineRenderer.SetVertexCount(lengthOfLineRenderer);
}
function Update() {
var lineRenderer : LineRenderer = GetComponent.<LineRenderer>();
if(Input.GetMouseButtonUp(0)){
var mice = Camera.main.ScreenToWorldPoint(Input.mousePosition);
lineRenderer.SetPosition(n, mice);
n++;
}
}
Comment
Best Answer
Answer by SunnyChow · Feb 24, 2016 at 02:18 AM
Are you using a perspective camera? the z value of Input.mousePosition should be 0, that's why the position of mice may be exactly at the position of camera.
Try something like this:
var pos = Input.mousePosition;
pos.z = 10;
var mice = Camera.main.ScreenToWorldPoint(pos);