Unity 5粒子删除c#脚本
本文关键字:脚本 删除 粒子 Unity | 更新日期: 2023-09-27 18:10:36
我在unity 4上开始了一个unity教程,但我在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);
}
}
这可能是因为unity的c#代码从4更改为5?我应该改变什么?问题似乎在Update
方法。
这段代码有几个问题。
首先,你没有提到它到底是附在什么上面的?我想它是附属于粒子系统的。
其次,使用"gameObject",而不是"gameObject",因为gameObject是类的名称。
第三,我相信有一种更有效的方法可以销毁游戏对象,而无需检查每一帧粒子系统是否已经完成,也许可以设置一个小计时器?或者用时间调用函数?
取决于如何设置事件将取决于检查粒子是否正在运行的方法。如果你可以设置一个对撞机,当你走进去的时候,你可以触发一个事件来知道粒子是否开启。在离开对撞机后,粒子将被关闭。
我不是100%在c#中返回的语法,但似乎它应该在你破坏你的游戏对象之后。我认为在这方面,回球和破发的作用类似。(特别是因为你似乎没有返回任何值,为什么你需要它?)