Unity做一个发射炮台,1秒发射1个,5秒后消失的例子

思路:小球要移动,移动一段时间消失,需要translate+destory;

          一个小球不够,需要多次COPY预制体小球,copy;

一、COPY代码,把这个代码放在不是复制的球的其他物体上,然后把预制体球拖入a中

using UnityEngine;

using System.Collections;


public class copy : MonoBehaviour {

public Gameobject a;

public float t1;     //定义一个时间,可以在面板输入,这个时间是从小球发射至小球消失的时间,为2秒时是个距离,4秒是个距离 。                                                                                                                       做个循环(几秒实例化一个)

private float t2;    //定义一个后台运行的,私有的时间。从开始运行至结束运行的时间。(这个时间用于辅助计算)

    // Use this for initialization

    void Start () {
        t2=t1;        // 把面板输入的t1赋值给t2;
        
    }

// Update is called once per frame
void Update () {

       t2=t2-Time.deltaTime;      //把面板输入的时间,“1”,减去0.0000X,直至为0,也就是1秒过去了,实例化复制这个小                                                                                                                        球,1秒复制1个。

       if(t2<=0){

Instantiate(a);

t2=t1;                                       //重复赋值,重复运行

}

    }

}

二、球的移动代码   ,把这个代码放在小球上

using UnityEngine;
using System.Collections;


public class QiuMove : MonoBehaviour {
    
    // Use this for initialization
    void Start () {
        Destroy(gameObject, 5.0f);                      //消失
    }

// Update is called once per frame
void Update () {
        transform.Translate(transform.right  * Time.deltaTime * 2);    //移动    
        
    }
}

三】注意预制体要在Hie中删除

补充:

copy的第二种方法:

using UnityEngine;
using System.Collections;


public class copy : MonoBehaviour {
    public GameObject a;
    public float t1;    
    private float t2;

 void Start () {
        InvokeRepeating("CloneSphere",t1,t2); //调用更简洁的实例化方法:重复运行一个方法,

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值