Unity中GetComponent<ParticleSystem>()获得的对象不能直接控制对象.main.simulationSpeed,需要声明一个中间变量ParticleSystem.mainModule = 对象.main,再对mainModule.simulationSpeed进行控制。
具体代码:
public class SimulationSpeedController : MonoBehaviour
{
public ParticleSystem _particleSystem;
private void SpeedControl(float speed)
{
// 我比较习惯用var声明
ParticleSystem.MainModule mainModule = _particleSystem.main;
mainModule.simulationSpeed = speed;
// 直接写不行,不知道为啥
// _particleSystem.main.simulationSpeed = speed;
}
}