我有一个2D对象,使用按钮可以更改其颜色,每个按钮都会更改对象的精灵。我有红色、橙色、黄色、绿色、蓝色和紫色的精灵。
现在我有一个粒子系统(上述对象的子级),我想将其startColor属性更改为与2D对象精灵相同的颜色。 我正在使用以下代码(附加到可以更改精灵的2D对象):
我正在尝试从RGB创建所有新的Colors()。所以我将所有颜色精灵的RGB值插入其中。但是当我执行代码时,粒子的颜色与对象的精灵颜色不匹配。
注意:我在android上运行此代码,并且粒子系统的材料是纯白色,因此不应该影响颜色。
我已经五次以上尝试将颜色精灵的RGB值插入其中。但是它们并不匹配!我不知道出了什么问题……如果您需要我附加颜色精灵图像,请告诉我。
现在我有一个粒子系统(上述对象的子级),我想将其startColor属性更改为与2D对象精灵相同的颜色。 我正在使用以下代码(附加到可以更改精灵的2D对象):
var sprite = gameObject.GetComponent<SpriteRenderer>().sprite;
var startColor = gameObject.transform.GetChild(0).gameObject.GetComponent<ParticleSystem>().startColor;
if (sprite == red) startColor = new Color(255, 29, 0);
else if (sprite == orange) startColor = new Color(254, 32, 0);
else if (sprite == yellow) startColor = new Color(254, 215, 0);
else if (sprite == green) startColor = new Color(0, 254, 32);
else if (sprite == blue) startColor = new Color(0, 37, 254);
else if (sprite == purple) startColor = new Color(178, 0, 255);
gameObject.transform.GetChild(0).gameObject.GetComponent<ParticleSystem>().startColor = startColor;
我正在尝试从RGB创建所有新的Colors()。所以我将所有颜色精灵的RGB值插入其中。但是当我执行代码时,粒子的颜色与对象的精灵颜色不匹配。
注意:我在android上运行此代码,并且粒子系统的材料是纯白色,因此不应该影响颜色。
我已经五次以上尝试将颜色精灵的RGB值插入其中。但是它们并不匹配!我不知道出了什么问题……如果您需要我附加颜色精灵图像,请告诉我。
gameObject.GetComponent<SpriteRenderer>().sprite
存储在一个变量中,例如var sprite=gameObject.GetComponent<SpriteRenderer>().sprite;
。 - Panagiotis Kanavos