一.可能出現的問題
1.怎么讓角色跳起來
2.如何判斷角色是否跳躍
3.如何判斷角色是否可以跳躍
二.解決方案
1.可以通過給予一份力,使角色物件跳躍
2.可以用碰撞檢測來判斷角色是否可以跳躍,是否已經跳躍,
3.代碼如下:
private bool jumpis = false; //用來判斷角色是否可以跳躍
public Rigidbody2D rig; //需通過自身剛體進行跳躍
public float jumpseep; //跳躍的高度
private void Update()
{
if(Input.GetKeyDown(KeyCode.Space) && jumpis == true) //按下空格鍵并且判斷是否可以跳躍
{
rig.velocity = new Vector2(0, jumpseep); //通過給予角色組件剛體一份力,使角色跳起
}
}
//通過剛體碰撞檢測判斷地面標簽名稱,來確定角色是否可以跳躍
private void OnCollisionStay2D(Collision2D collision)
{
if(collision.transform.tag=="dimian")
{
jumpis = true; //jumpis為true便可以跳躍
}
}
private void OnCollisionExit2D(Collision2D collision)
{
if (collision.transform.tag == "dimian")
{
jumpis = false;
}
}
4.要創建名為“dimian”的tag值,來確認物件是否為地面


創建好之后記得將地面tag值更改為“dimian”,
5.為角色物件添加2D剛體與2D碰撞體后,添加腳本,并將自身剛體拖入框中輸入跳躍力度即可,


現在啟動程式,按下空格鍵看看吧!
如有不懂的地方可以評論區留言,若有不足,望請大佬指教,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/301847.html
標籤:其他
