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

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

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. 【Linux】行首、行尾添加字符串

    在行首或者行尾添加字符串的方式有以下2种 环境描述 test.txt文件内容如下: hello world Qinys 要求:在每一行的行首添加AAA,行尾添加666 VIM编辑状态添加 首先使用命令 ...

  2. spring jdbc查询 依赖JdbcTemplate这个类模版封装JDBC的操作

    package cn.itcast.spring.jdbc; import java.util.List; import org.springframework.jdbc.core.support.J ...

  3. mysql课程记录

    thread_pool可以使用Percona的版本和Mariadb的版本  都是支持的  主从切换是根据HA的方式,TDDL(Taobao Distribute Data Layer) 的方式的话,推 ...

  4. Exception sending context initialized event to listener instance of class ssm.blog.listener.InitBloggerData java.lang.NullPointerException at ssm.blog.listener.InitBloggerData.c

     spring注入是分两部分执行的     首先是 先把需要注入的对象加载到spring容器     然后在把对象注入到具体需要注入的对象里面   这种就是配置和注解的注入    getbean方式其 ...

  5. 折叠表格思路及遇到的问题(tableView:viewForHeaderInSection:的section从1开始,不是从0开始)

    项目需要做了一个类似qq联系人的折叠表格,思路很简单:设置每个section的header,在header上显示组名等信息,然后根据折叠与否,设置每个section中cell的数量,如果折叠,则将之设 ...

  6. 两种方法一句代码隐藏Activity的标题栏

    把Activity的标题栏隐藏有两种方法.一种是在在Activity里面设置javacode.还有一种是在项目的清单文件AndroidManifest.xml中设置模版样式. 一.在Activity中 ...

  7. docker运行环境安装-后续步骤(二)

    1.以非 root 用户身份管理 Docker [origalom@origalom ~]$ sudo groupadd docker # 创建docker用户组[origalom@origalom ...

  8. jquery.zclip实现点击拷贝文字功能

    <script type="text/javascript" src="http://www.sitejs.cn/templets/skins/js/jquery- ...

  9. 服务器server2008网站iis7+php环境的搭建

    IIS+FastCGI+PHP5_32_Gzip环境搭建-------------------0.装iis71.把php_5.32_win86解压到d:\php2.php.ini文件已经配置好不需要在 ...

  10. Atitit.软件开发的几大规则,法则,与原则。。。attilax总结

    Atitit.软件开发的几大规则,法则,与原则... 1. 设计模式六大原则 2 1.1. 设计模式六大原则(1):单一职责原则 2 1.2. 设计模式六大原则(2):里氏替换原则 2 1.3. 设计 ...