我的
每当我的角色撞到一个物体时,它会调用函数
当
particlesystem.Play()
无法工作。我已经花了几个小时来解决这个问题,但仍然无法弄清楚。每当我的角色撞到一个物体时,它会调用函数
particleAuraPlay()
,并显示日志消息“HIT”,这意味着函数被正确调用了。当
playAura
设置为 true 时,粒子应该播放,而且日志消息“Running”也会出现。由于消息出现了,我认为我的逻辑是正确的,但粒子就是不会开始播放。有人能解决我的问题吗?using UnityEngine;
using System.Collections;
public class ParticleController : MonoBehaviour {
private bool playAura = false;
private ParticleSystem particleObject;
void Start () {
particleObject = GetComponent<ParticleSystem>();
particleObject.Stop();
}
void Update () {
if (playAura)
{
Debug.Log("Running");
particleObject.Play();
}
}
public void particleAuraPlay()
{
Debug.Log("HIT");
playAura = true;
}
}
particleObject.Play(true);
。 - Karduxif (!particleObject.isPlaying) particleObject.Play();
吗?我的想法是,由于执行在 Update() 中,动画会在每一帧从头开始播放,限制了粒子的扩散,导致整体效果静态。不过这只是一个尝试。 - Andrea