我試過制作這個小東西,如果玩家點擊它就會射擊,但它似乎不起作用。這是代碼:
void OnTriggerEnter2D(Collider2D col)
{
if (col.gameObject.tag != "player" || col.gameObject.tag != "fireball")
{
Debug.Log(col.gameObject.tag);
Destroy(gameObject);
}
}
這段代碼的意思是,如果 col 不等于 player 或 fireball,它會破壞 gameObject 并除錯col
's 標簽。
但它在進入玩家時會破壞,并且在擊中火球時也會破壞。火球和它的孩子被稱為“火球”,玩家和孩子被稱為“玩家”,它仍然會破壞火球游戲物件。
知道為什么這不起作用嗎?
uj5u.com熱心網友回復:
您的 if 陳述句將始終為真,因為標簽將始終不是“玩家”或“火球”。
如果您希望它在標簽是“玩家”或標簽是“火球”時不破壞,您需要更改 if 陳述句以使用 && 代替,如下所示:
void OnTriggerEnter2D(Collider2D col)
{
if (col.gameObject.tag != "player" && col.gameObject.tag != "fireball")
{
Debug.Log(col.gameObject.tag);
Destroy(gameObject);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/491254.html
下一篇:將兩個React檔案合二為一