2016-09-24 71 views
0

當我按下LMB我正在將我的玩家轉向鼠標位置,我還想要模擬拍攝。所以當點擊LMB我想創建一個從玩家位置到鼠標位置的線。我的大問題是,我的球員正在移動,我似乎不知道如何獲得射線的開始位置。畫線從玩家到鼠標的位置(統一)

截至目前,射線從vector3(0,0,0)渲染到鼠標位置,這不是我想要的。我希望它從PLAYER位置渲染到鼠標位置。

這裏是我的代碼:

void Update() { 

transform.Translate (Vector3.down * Time.deltaTime * movementSpeed, Space.World); 

if (Input.GetButtonDown("Fire1")) { 

    Vector3 mousePos = new Vector3 (Input.mousePosition.x, Input.mousePosition.y, 10); 
    Vector3 lookPos = Camera.main.ScreenToWorldPoint (mousePos); 
    lookPos = lookPos - transform.position; 
    float angle = Mathf.Atan2 (lookPos.y, lookPos.x) * Mathf.Rad2Deg + 90; 
    transform.rotation = Quaternion.AngleAxis (angle, Vector3.forward); 

    if (Time.time > nextFire) 
    { 
     nextFire = Time.time + fireRate; 
     StartCoroutine (shotEffect()); 
     laserLine.SetPosition (1,this.transform.position+lookPos);    
    } 
} 

}

回答

2

如果你的代碼連接到播放器和laserLine.SetPosition()設置開始和你的行結束我認爲:

laserLine.SetPosition (1,this.transform.position+lookPos); 

應該看起來:

laserLine.SetPosition (this.transform.position,this.transform.position+lookPos);