我正在按方块射击球,并且有3个巨型方块使武器更坚固。在我的Mega Block 1上,如果从我拍摄的子弹球中检测到碰撞,请运行代码。很好现在,如果点击了Mega Block 1(tag = MegaBlock01),则执行一个代码,如果点击了Mega Block 2,依此类推。我想将此代码块放在每个Mega Block上,因此我不必为每个Mega Block编写新代码
public void OnTriggerEnter(Collider other) // This code is on my Mega Blocks
{
if (other.CompareTag("BulletBall")) // The Ball has hit me
{
StartMegaWeapon01();
// What I want is:
// If my tag is MegaBlock01, run StartMegaWeapon01();
// If my tag is MegaBlock02, run StartMegaWeapon02();
}
}
我想要在碰撞检测中进行碰撞检测。
答案 0 :(得分:2)
自从调用OnTriggerEnter
方法以来,您需要将子弹的对撞机检查为IsTrigger。两个碰撞对象中的至少一个还需要具有刚体,以便物理引擎可以正确计算碰撞。
打开一旦拥有了,从this
获取gameObject的标签就足够了:
if (gameObject.tag == "MegaBlock01")
StartMegaWeapon01();