如何确定哪个粒子系统击中了播放器?

时间:2016-07-10 13:51:36

标签: unity3d parameters

所以我有许多粒子系统(法术)将会击中玩家。如何设置它以便我可以判断哪个粒子系统正在击中播放器然后从那里应用正确的伤害?我是否必须做类似

的事情
void OnParticleCollision(collider particle1)
{
 float damage = 50;
 TakeDamage(damage);
}

然后这样做50次?必须有一个更简单的方法。

为了更进一步,我们说法术1应该造成50点伤害,法术2应该造成100点伤害,法术3应该造成200点伤害,法术4应该造成50点伤害,只是重叠一点。显然它将超过4个,我只是不知道如何开始。

1 个答案:

答案 0 :(得分:0)

您可以检查粒子系统是否具有某个组件。如下所示:

    void OnParticleCollision(collider particle1) {
        Spell1 spell1 = particle1.gameobject.GetComponent<Spell1>();
        if (spell1) {
           float damage = 50;
           TakeDamage(damage);
        }
    }