我已经在这个问题上苦苦挣扎了几个小时,但仍然无法弄清楚,所以有人可以帮助我解决这个问题吗?
我的调用方法没有执行任何操作。这是我的代码:
void Update()
{
transform.position = Vector3.MoveTowards(robot.transform.position, player.transform.position, speed);
if(hitNum <= 0){
Invoke(nameof(Effects), 2.0f);
}
}
// Damage Function
public void Damage(float damage){
hitNum -= damage;
scr.SetHealth(hitNum,max);
}
// Particle System
public void Effects(){
foreach (var fireworks in fireworks)
{
fireworks.Play();
}
}
我试图在玩家击败机器人后添加一些粒子,但它不起作用
您提供的代码看起来是正确的。但如果没有提供完整的脚本,就很难说。请确保下次发布您的完整脚本,并更好地解释您的问题,而不仅仅是“它不起作用”
Time.timeScale
未设置为零 (print(Time.timeScale)
)hitNum <= 0
方法之前打印来确保
Invoke
Effects
方法应该在 2 秒内被调用,确保它也被调用,尽管我没有看到任何不被调用的理由fireworks
集合不为空(如果为空,则会抛出错误)ParticleSystems
在场景中并查看它们是否已播放
调试起来也不应该那么困难。希望对您有一点帮助!