見てください:私は、プレイヤーが彼と衝突したときにパネルが現れ、もう一度試してみるというモンスターをゲームに持っています。 シールドオブジェクトがあり、プレイヤーを死から守ります。プレイヤーがそれに衝突したときにモンスターに触れると、一度は死ぬべきではありません。それはシールドのようなものです。あなたは1人の死から保護されています。このコードを書くのを助けることができますか?Doodle jump unity C#
public GameObject panel;
public bool hasShield = false; /* no shield in the beginning */
void OnCollisionEnter(Collision col)
{
if(col.gameObject.tag == "Shield")
{
hasShield = true; //We are safe now.
/* TODO: StartCoroutine() or Invoke() to reset the variable and the graphic effect after some amount of time. */
}
else if (col.gameObject.tag == "Monster" && !hasShield)
{
//We hit a monster and had no shield. Display gameover.
panel.SetActive (true);
}
//I assume the panel is inactive by default so no need to call SetActive(false) on it.
}
「機能しない」より具体的なことができますか?デバッグをしましたか? – halfer
あなたのロジックをよりよく表現できますか?パネルが活性化または非活性化されると正確にはいつですか? –
モンスターに触れた後、パネルをアクティブにする必要がありますが、シールドとモンスターをタッチするとパネルが表示されません –