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)意思是將屏幕坐標轉換為世界坐標。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM