随机自动刷怪

创建一个怪物模板给他定一个点让他每隔3秒在给定的位置随机生成怪物

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class sjgw : MonoBehaviour
{// S这个脚本间隔一点时间生成怪物
    /*1.程序逻辑
     * 1. 设计一个计时器
     * 2.间隔一段时间3s执行一下     * 
     */
    float SaveTime = 0f;
    // 定义一个浮点型变量SaveTime并初始化为0,用于记录经过的时间。
    public GameObject OneMonsterPre;
    //用于存放将要克隆的怪物的预制体。
    public Transform MonsterCenterPOS;
    // 用于存放怪物生成的中心点的位置。
    float CloneX;
    float CloneZ;
    // 定义两个浮点型变量CloneX和CloneZ,用于存储克隆怪物的新位置的x和z坐标。
    void Update()
    {
        SaveTime += Time.deltaTime;
        // 将每一帧经过的时间加到SaveTime上,这样即使帧率不同,经过的时间也会是恒定的。
        if (SaveTime >= 3)
        // 如果经过的时间大于或等于3秒,就执行下面的代码。
        {
            Debug.Log("时间超过3秒");
            SaveTime = 0;
            CloneMonster();
        }
    }//endupdate
     // 在Update方法中,当SaveTime超过3秒时,会打印一条消息,然后重置SaveTime并调用CloneMonster方法来生成怪物。
    void CloneMonster()
    // 定义一个名为CloneMonster的方法,用于生成怪物。
    {
        Debug.Log("生成随机数");
        for (int i = 0; i < 2; i++)
        // 在控制台打印一条消息表示正在生成随机数,并且循环3次。
        {
            CloneX = Random.Range(-1f, 15f) + MonsterCenterPOS.position.x;
            CloneZ = Random.Range(1f, 13f) + MonsterCenterPOS.position.z;
            // 在循环中,生成新的x和z坐标,这些坐标在游戏世界中是随机的,但会基于MonsterCenterPOS的位置。
            Vector3 TempPos = new Vector3(CloneX, MonsterCenterPOS.position.y, CloneZ);
            Debug.Log("随机坐标" + TempPos);
            // 创建一个新的Vector3来存储新的位置,并在控制台打印这个位置。

            GameObject TempOBJ = GameObject.Instantiate(OneMonsterPre, TempPos, Quaternion.Euler(new Vector3(Random.Range(0, 0), 0, Random.Range(0, 0))));
            // 使用GameObject.Instantiate方法来克隆OneMonsterPre预制体,将它放置在新的位置,并给它一个随机的旋转。克隆出来的对象会被存储在TempOBJ变量中。
            Destroy(TempOBJ, 3f);
        }  // 在循环结束后,使用Destroy方法来销毁这个新生成的对象,销毁时间为3秒。
    }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值