首页 文章

Unity 5粒子删除c#脚本

提问于
浏览
1

我正在关注Unity 4上的团结教程,但我在Unity 5上,当我尝试使用看到的脚本(https://youtu.be/vwUahWrY9Jg?t=1337)并尝试使用它时,它会出错:

Assets / Scripts / DestroyFinishedParticle.cs(18,17):错误CS0246:找不到类型或命名空间名称“Destroy” . 您是否缺少using指令或程序集引用?

这是代码:

using UnityEngine;
using System.Collections;

public class DestroyFinishedParticle : MonoBehaviour {

    private ParticleSystem thisParticleSystem;

    // Use this for initialization
    void Start () {
        thisParticleSystem = GetComponent<ParticleSystem>();
    }

    // Update is called once per frame
    void Update() {
        if (thisParticleSystem.isPlaying)
            return;

        Destroy (GameObject);
    }
}

这可能是因为统一的C#代码从4变为5?我应该改变什么?问题似乎在 Update 方法中 .

2 回答

  • 2

    这段代码有几个问题 .

    首先,你没有提到它究竟附加了什么?我假设它附加到粒子系统 .

    其次,使用“gameObject”而不是“GameObject”,因为GameObject是类的名称 .

    第三,我相信有一种更有效的方法来破坏gameObject而不检查每个帧是否粒子系统已经完成,可能设置一个小计时器?或者随着时间调用功能?

  • 0

    根据事件的设置方式,将取决于检查粒子是否正在运行的方法 . 如果您可以在进入时设置碰撞器,则可以触发事件以了解粒子已打开 . 在离开对撞机时,颗粒将关闭 .

    我不是100%关于C#中返回的语法,但看起来它应该在你破坏你的游戏对象之后 . 我认为回归的工作方式与那方面的突破相似 . (特别是因为你似乎没有回复任何 Value ,为什么你需要呢?)

相关问题