【unity】2D激光实现方式(C#代码)
2018-08-09 本文已影响1人
suxsho_枫2
激光组件由这3个物体构成
![](https://img.haomeiwen.com/i7209029/f7796080437bcc5a.png)
就像这样,白色是gun、spawncast是射线、hit是碰撞判定点
![](https://img.haomeiwen.com/i7209029/552e49ca1b2e0d12.png)
在spawncast中加入linerenderer,并拖入下面的代码
![](https://img.haomeiwen.com/i7209029/4700bceea3e60cb6.png)
private LineRenderer lineRederer;
- start
lineRederer = GetComponent<LineRenderer>();
lineRederer.enabled = true;
lineRederer.useWorldSpace = true;
- update
RaycastHit2D hit = Physics2D.Raycast(transform.position, transform.right);
Debug.DrawLine(transform.position, hit.point);
_monsters_id3.transform.position = hit.point;
lineRederer.SetPosition(0,transform.position);
lineRederer.SetPosition(1, _monsters_id3.transform.position);
//激光触碰到玩家
if (hit.collider.tag == "Player" )
{
//DOSTH
}