Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(197评价)
价格: 4431.00元
粒子系统的Start Delay问题
王伟发起了问答2018-03-07
5
回复
1328
浏览

老师。我设置粒子.StartDelay = 10; 正常情况下应该是等待10秒 然后发射粒子。

这个时候 我在第5秒的时候 Pause粒子 然后再重新Play 。。

发现是又等待10秒才发射粒子 而不是走完剩下的5秒直接发射。

所有回复
  • siki 2018-03-07

    Play相当于重新播放

    暂停和继续一般都是使用resume

    你的代码怎么写的

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • 王伟 2018-03-08
    public virtual void Init() { Create(); if (Animator) { //Animator下面挂了很多例子发射器 _particleSystems = Animator.transform.GetComponentsInChildren(); } } private void PlayEffect() { IsPlay = true; foreach (var particleSystem in _particleSystems) { particleSystem.Play(); } } private void PauseEffect() { IsPlay = false; foreach (var particleSystem in _particleSystems) { particleSystem.Pause(); } } 查了下API ParticleSystem下没有Resume方法
    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • 王伟 2018-03-08

    我去 有些乱。。其实就是

    ParticleSystem.Pause()

    ParticleSystem.Play()

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • 王伟 2018-03-08

     

    其实还有个简单的方法。直接在Unity编辑器里面创建个粒子 把StartDelay设置一个值

    在5秒内按面板上的Pause 然后再按Play。他的开始前的延时也不是继续计算 而是重新累计的

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • siki 2018-03-08

    我看下了api,play的确是用来继续播放的,可以尝试换下unity版本看看行不行

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!