所以我只是想通过脚本简单地改变粒子系统的起始颜色,而且它不起作用。
private ParticleSystem trailPartical; // The particle system
public Color StartColor
{
var main = trailPartical.main;
main.startColor = value;
}
这根本不起作用,我也尝试了折旧版本:
trailParticle.startColor = value;
答案 0 :(得分:4)
您尝试使用StartColor
作为方法,根据{}中的代码判断,即使您将其声明为变量。
除了这个错误,由于ParticleSystem的一些变化,你需要访问组件的主要模块:
ParticleSystem.MainModule main = GetComponent<ParticleSystem>().main;
main.startColor = Color.blue; // <- or whatever color you want to assign
在附加到游戏中的脚本内部,该脚本也包含粒子系统组件。
答案 1 :(得分:1)
我想我知道你要做什么。您只想使用一个函数或属性来简化颜色设置。
您将使用当前代码收到此错误:
预期获取或设置访问者。
那是因为你没有实现set accesstor。
该属性应该是这样的:
private ParticleSystem trailPartical;
public Color StartColor
{
set
{
var main = trailPartical.main;
main.startColor = value;
}
}
...然后
void Start()
{
trailPartical = GetComponent<ParticleSystem>();
StartColor = Color.red;
}
这应该有效。
答案 2 :(得分:0)
如果有人想知道如何设置渐变:
ParticleSystem.MainModule psMain = GetComponent<ParticleSystem>().main;
psMain.startColor = new ParticleSystem.MinMaxGradient(Color.white, Color.red);