出品 | Siki 学院
Unity 通过Line Renderer绘制两点之间的直线;
弹弓左右枝上分别建立一个画线点,并在左右枝上分别添加【Line Renderer】组件,该组件,给材质添加材质球,在颜色属性处改变颜色,在【whdth】属性处改变宽度。
画线的操作在小鸟的代码中,声明两个公共位置变量(在编辑器赋左右枝的画线点),声明两个公共画线组件(同样在编辑器将左右两枝赋给他),写画线函数。放在isClick判断句内。
细节请观看Siki学院的视频。
public class Bird:MonoBehaviour{ private bool isClick=false;//判断是否点击鼠标 public float maxDis=3; private SpringJoint2D sp; private Rigidbody2D rg; public LineRenderer right; public Transform rightPos; public Transform leftPos; public LineRenderer left; private void Awake(){ sp=GetComponent<SpringJoint2D>(); rg=GetComponent<Rigidbody2D>(); } private void OnMouseDown(){//鼠标按下 isClick=true; rg.isKinematic=true; Invoke("Fly",0.1f); } private void OnMouseUp(){//鼠标抬起 isClick=false; sp.isKinematic=false; } private void Update(){ if(isClick){//鼠标一直按下,进行位置的跟随 transform.position=Camera.main.ScreenToWorldPoint(Input.mousePosition); transform.position+=new Vector3(0,0,-Camera.main.transform.position.z); } Line(); } void Fly(){ rg.enabked=false; } void Line(){ right.setPosition(0,rightPos.position); right.setPosition(1,transform.position); left.setPosition(0,leftPos.position); left.setPosition(1,transform.position); } }