敌人管理器:管理敌人的随机出生点创建

在场景中建立几个空物体,作为敌人的出生点

public class EnemyManager : MonoBehaviour
{
public PlayerHealth playerHealth; // 玩家生命脚本
public GameObject enemy; // 敌人物体预制,拖入或者动态加载
public float spawnTime = 3f; // 敌人出生间隔时间
public Transform[] spawnPoints; //出生点们,动态根据Tag或层获取,或者直接拖入 void Start ()
{
// 每隔出生间隔时间重复调用 出生函数
InvokeRepeating ("Spawn", spawnTime, spawnTime);//方法名 几秒后调用 每隔几秒再调用
} void Spawn ()
{
// 玩家已死,不创建了
if(playerHealth.currentHealth <= 0f)
{
return;
}
// 随机出生点索引;c#的Random.Range是前闭后开的,就是最小值可以取到而最大值取不到
int spawnPointIndex = Random.Range (0, spawnPoints.Length); // 创建敌人(我们做项目一般最好记录存活敌人数量,超过一定数量就不创建了,如果地图大,运动范围广逃跑能力强,电脑会爆炸的)
Instantiate (enemy, spawnPoints[spawnPointIndex].position, spawnPoints[spawnPointIndex].rotation);
}
}

本案例中有3种怪物:我们实现把敌人做成了预制,可以重复使用

SurvivalShooter学习笔记(八.敌人管理器)的更多相关文章

  1. android学习笔记57——电话管理器TelephoneyManager

    电话管理器TelephoneyManager

  2. Android学习笔记(10).布局管理器

    布局管理器的几个类都是ViewGroup派生的,用于管理组件的分布和大小,使用布局管理器能够非常好地解决屏幕适配问题. 布局管理器本身也是一个UI组件,布局管理器能够相互嵌套使用,以下是布局管理器的类 ...

  3. 韦东山嵌入式Linux学习笔记05--存储管理器

    SDRAM: 原理图如下:          jz2440 v3开发板上面用的内存芯片为钰创科技公司生产的EM63A165TS,一片内存大小为32MB大小,一共有两块,共64MB的大小. SDRAM接 ...

  4. python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑

    python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑 许多人在安装Python第三方库的时候, 经常会为一个问题困扰:到底应该下载什么格式的文件?当我们点开下载页时, 一般 ...

  5. Qt学习笔记-Widget布局管理

    Qt学习笔记4-Widget布局管理       以<C++ GUI Programming with Qt 4, Second Edition>为参考 实例:查找对话框 包含三个文件,f ...

  6. go微服务框架kratos学习笔记八 (kratos的依赖注入)

    目录 go微服务框架kratos学习笔记八(kratos的依赖注入) 什么是依赖注入 google wire kratos中的wire Providers injector(注入器) Binding ...

  7. Redis学习笔记八:集群模式

    作者:Grey 原文地址:Redis学习笔记八:集群模式 前面提到的Redis学习笔记七:主从复制和哨兵只能解决Redis的单点压力大和单点故障问题,接下来要讲的Redis Cluster模式,主要是 ...

  8. XV6学习笔记(2) :内存管理

    XV6学习笔记(2) :内存管理 在学习笔记1中,完成了对于pc启动和加载的过程.目前已经可以开始在c语言代码中运行了,而当前已经开启了分页模式,不过是两个4mb的大的内存页,而没有开启小的内存页.接 ...

  9. Linux内核学习笔记-2.进程管理

    原创文章,转载请注明:Linux内核学习笔记-2.进程管理) By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert L ...

随机推荐

  1. 回顾 git 常用命令

    git init      在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹.   git clone      获取一个u ...

  2. URL重写:RewriteCond指令与RewriteRule 指令格式

    Rewirte基本的功能就是实现URL的跳转和隐藏真实地址,基于Perl语言的正則表達式规范.平时帮助我们实现拟静态,拟文件夹,域名跳转,防止盗链等.本文将针对mod_rewrite和URL匹配的技术 ...

  3. maven编译war包,pom中必须有的几个dependency

    <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> ...

  4. CSS3图片折角效果

    本篇文章由:http://xinpure.com/css3-picture-angle-effect/ 图片折角效果主要是通过设置 border 属性实现的效果 效果预览 效果解析 假设我们将一个元素 ...

  5. bootstrap 网格系统学习

    Bootstrap 官方文档中有关网格系统的描述: Bootstrap 包含了一个响应式的.移动设备优先的.不固定的网格系统,可以随着设备或视口大小的增加而适当地扩展到 12 列.它包含了用于简单的布 ...

  6. 前端JS脚本将网页表格导出为Excel

    话不多说,上代码! <!DOCTYPE> <html> <head> <title>Excel Test</title> </head ...

  7. 从构建分布式秒杀系统聊聊验证码 给大家推荐8个SpringBoot精选项目

    前言 为了拦截大部分请求,秒杀案例前端引入了验证码.淘宝上很多人吐槽,等输入完秒杀活动结束了,对,结束了...... 当然了,验证码的真正作用是,有效拦截刷单操作,让羊毛党空手而归. 验证码 那么到底 ...

  8. 1-wire单总线DS18B20

    要想实现单总线通信,每一个挂在总线上的从机必须拥有开路或3态输出.单总线DS18B20的DQ引脚用内部电路实现了开漏输出,其等效电路如下图: 当单片机IO引脚配置为 mcu IO引脚 电流流向 DS1 ...

  9. Java并发编程(八):线程调度——线程池

    new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? new Thread(new Runnable() { @Override public void run() { / ...

  10. PHP QR Code - QR code generator, an LGPL PHP library

    http://phpqrcode.sourceforge.net/examples/index.php http://phpqrcode.sourceforge.net/examples/index. ...