为了账号安全,请及时绑定邮箱和手机立即绑定

碰撞工作,粒子效果没有那么多 C#

碰撞工作,粒子效果没有那么多 C#

C#
呼唤远方 2022-01-09 14:43:38
我将保持简短和简短,但我目前有一个粒子系统,即使我的碰撞有效,它似乎也没有渲染。我很难理解其他人的工作,所以我无法找到我能理解的解决方案。这是我的代码:public float speed;public Rigidbody rb;public int health;private float knockback;private float knockup;public ParticleSystem Eparticle; //*** variable for particle system ***// Use this for initializationvoid Start(){    rb = GetComponent <Rigidbody>();    knockback = 100f;    knockup = 250f;}void OnCollisionEnter(Collision col){    if (col.gameObject.name == "enemy")    {        health = health - 20;        rb.AddRelativeForce(Vector3.back * knockback);        rb.AddRelativeForce(Vector3.up * knockup);        Destroy(col.gameObject);        Instantiate(Eparticle);    }    if (col.gameObject.name == "endgoal")    {        SceneManager.LoadScene("level 1");    }}我的实例化(Eparticle)行做错了什么?有人可以通过解决方案告诉我吗?谢谢 :)
查看完整描述

1 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

您应该Instantiate在希望粒子预制出现的位置调用该方法。你可以做这样的事情......

Instantiate(Eparticle,transform.position,transform.rotation);

实际上,您还可以在运行时创建(实例化)游戏对象,如下所示......

GameObject obj= Instantiate(Eparticle,transform.position,transfrom.rotation) as GameObject;

这样,您就可以对实例化的游戏对象进行某种“控制”。例如,您可以在使用对象后通过调用该Destroy()方法将其销毁。例如:

Destroy(obj,2f);//Destroys the created object after 2 seconds.

当然,如果您要实例化和销毁大量对象,这不是一个好方法。为此,您应该阅读有关对象池的信息。


查看完整回答
反对 回复 2022-01-09
  • 1 回答
  • 0 关注
  • 210 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号