正确播放Particle System组件?
Properly play Particule System component?
如何正确播放附加到 GameObject 的粒子系统组件?我还将以下脚本附加到我的游戏对象,但粒子系统不播放。我该如何解决这个问题?
public Transform gameobject1;
public Transform gameobject2;
public ParticleSystem particules;
void Start()
{
float distance = Vector3.Distance(gameobject1.position, gameobject2.position);
}
void Update()
{
if(distance == 20)
{
particules.Play();
}
}
我没看到你在 class 中声明距离,但你在更新时使用了它。将 distance 声明为与您的其他成员的私人浮动,并在开始时定义它。
假设您的代码与此不完全相同,那么您的问题看起来也源于使用具有距离的实体值。尝试使用小于或等于 20。
if(distance <= 20)
或者您可以尝试大于 19 且小于 21。
if(distance <= 21 && distance >= 19)
假设这是您编写的确切代码,您需要首先使用 GetComponent
方法才能对您的粒子系统执行操作
您的代码应如下所示:
public Transform gameobject1;
public Transform gameobject2;
public ParticleSystem particules;
public float distance;
//We grab the particle system in the start function
void Start()
{
particules = GetComponent<ParticleSystem>();
}
void Update()
{
//You have to keep checking for the Distance
//if you want the particle system to play the moment distance goes below 20
//so we set our distance variable in the Update function.
distance = Vector3.Distance(gameobject1.position, gameobject2.position);
//if the objects are getting far from each other , use (distance >= 20)
if(distance <= 20)
{
particules.Play();
}
}
如何正确播放附加到 GameObject 的粒子系统组件?我还将以下脚本附加到我的游戏对象,但粒子系统不播放。我该如何解决这个问题?
public Transform gameobject1;
public Transform gameobject2;
public ParticleSystem particules;
void Start()
{
float distance = Vector3.Distance(gameobject1.position, gameobject2.position);
}
void Update()
{
if(distance == 20)
{
particules.Play();
}
}
我没看到你在 class 中声明距离,但你在更新时使用了它。将 distance 声明为与您的其他成员的私人浮动,并在开始时定义它。
假设您的代码与此不完全相同,那么您的问题看起来也源于使用具有距离的实体值。尝试使用小于或等于 20。
if(distance <= 20)
或者您可以尝试大于 19 且小于 21。
if(distance <= 21 && distance >= 19)
假设这是您编写的确切代码,您需要首先使用 GetComponent
方法才能对您的粒子系统执行操作
您的代码应如下所示:
public Transform gameobject1;
public Transform gameobject2;
public ParticleSystem particules;
public float distance;
//We grab the particle system in the start function
void Start()
{
particules = GetComponent<ParticleSystem>();
}
void Update()
{
//You have to keep checking for the Distance
//if you want the particle system to play the moment distance goes below 20
//so we set our distance variable in the Update function.
distance = Vector3.Distance(gameobject1.position, gameobject2.position);
//if the objects are getting far from each other , use (distance >= 20)
if(distance <= 20)
{
particules.Play();
}
}