1


我正在尝试更改脚本内粒子系统的 collidesWith 参数,但出现此错误:

错误 CS1612 无法修改“ParticleSystem.collision”的返回值,因为它不是变量


我的代码:

GameObject ammo; //Game object with ParticleSystem on it
public LayerMask desiredLayers; 

private void Start()
{
    ammo.GetComponent<ParticleSystem>().collision.collidesWith = desiredLayers;
}


现在我的问题是改变粒子系统碰撞层的正确方法是什么。

4

1 回答 1

1

好的,我明白了,显然 ParticleSystem 是一个属性。

Unity 对使用指针的 ParticleSystem 有一些特别之处,因此以下代码解决了我的问题:

var collidesWith = ammo.GetComponent<ParticleSystem>().collision.collidesWith;
collidesWith = desiredLayers;
于 2020-05-18T14:37:19.657 回答