Unity 3d愤怒的小鸟-Kinematic(开启动力学)

在Rigidbody 2D–Body Type–Kinematic(开启动力学)

 

Unity Rigidbody使用 之 isKinematic的使用。在Unity中,isKinematic结合Gravity使用,能使物体瞬间在有无动力效果中切换,本节介绍如何使用isKinematic实现愤怒的小鸟效果的简单案例,具体如下

public class Bird:MonoBehaviour{
private bool isClick=false;//判断是否点击鼠标
public Transform rightPos;
public float maxDis=3;
private SpringJoint2D sp;
private Rigidbody2D rg;

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

}
}
void Fly(){
rg.enabked=false;
}
}

Camera.main.ScreenToWorldPoint(Input.mousePosition)意思是将屏幕坐标转换为世界坐标。

猜你喜欢

转载自www.cnblogs.com/dingsiki/p/10022725.html