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


浙公网安备 33010602011771号