我遇到了團結問題。 我正在努力讓它如此,如果敵人與玩家發生碰撞,玩家就會失去一個健康點。我的代碼是在C#中,它看起來像:與敵人碰撞造成傷害
在你看代碼之前,我想說的是敵人是剛體,所以對象子彈可以影響它們。我製作了一個額外的膠囊,作爲玩家身體的一部分,可以是一個剛體,以便代碼可以檢測碰撞。你認爲這會起作用嗎?我不確定剛體是否更容易檢測到另一個剛體碰撞或者它是否不在意。
//basic stuff//
public class playerhealth : MonoBehaviour {
private int curHealth;
private int playerLives;
public GUIText winText;
public GUIText healthText;
public GUIText livesText;
void Start(){
curHealth = 3;
playerLives = 3;
SetHealthText();
SetLivesText();
winText.text = "";
}
void FixedUpdate()//where physics codes go
{
}
//HERE'S WHERE THE COLLISIONS STUFF IS
void OnCollisionEnter(Collider rigidbody){
if(rigidbody.gameObject.tag == "Enemy"){
curHealth = curHealth - 1;
SetHealthText();
}
if(rigidbody.gameObject.tag == "reloader"){
playerLives = playerLives - 1;
SetLivesText();
}
}
//setting GUI TEXT and reloading level
void SetHealthText(){
healthText.text = "Health Points: " + curHealth.ToString();
if(curHealth <=0) {
Application.LoadLevel ("shootingworld");
playerLives = playerLives - 1;
}
if(curHealth >= 10){
playerLives+= 1;
}
}
void SetLivesText(){
livesText.text = "Lives: " + playerLives.ToString();
if (playerLives <= 0){
winText.text = "GAME OVER";
}
}
}
能否請您解釋一下您遇到的問題。和場景 –