1. 程式人生 > >Unity 3d憤怒的小鳥-Line Renderer皮筋繪製

Unity 3d憤怒的小鳥-Line Renderer皮筋繪製

出品 | 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); } } 

在這裡插入圖片描述