SurvivalShooter学习笔记(八.敌人管理器)
敌人管理器:管理敌人的随机出生点创建
在场景中建立几个空物体,作为敌人的出生点
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学习笔记(八.敌人管理器)的更多相关文章
- android学习笔记57——电话管理器TelephoneyManager
电话管理器TelephoneyManager
- Android学习笔记(10).布局管理器
布局管理器的几个类都是ViewGroup派生的,用于管理组件的分布和大小,使用布局管理器能够非常好地解决屏幕适配问题. 布局管理器本身也是一个UI组件,布局管理器能够相互嵌套使用,以下是布局管理器的类 ...
- 韦东山嵌入式Linux学习笔记05--存储管理器
SDRAM: 原理图如下: jz2440 v3开发板上面用的内存芯片为钰创科技公司生产的EM63A165TS,一片内存大小为32MB大小,一共有两块,共64MB的大小. SDRAM接 ...
- python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑
python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑 许多人在安装Python第三方库的时候, 经常会为一个问题困扰:到底应该下载什么格式的文件?当我们点开下载页时, 一般 ...
- Qt学习笔记-Widget布局管理
Qt学习笔记4-Widget布局管理 以<C++ GUI Programming with Qt 4, Second Edition>为参考 实例:查找对话框 包含三个文件,f ...
- go微服务框架kratos学习笔记八 (kratos的依赖注入)
目录 go微服务框架kratos学习笔记八(kratos的依赖注入) 什么是依赖注入 google wire kratos中的wire Providers injector(注入器) Binding ...
- Redis学习笔记八:集群模式
作者:Grey 原文地址:Redis学习笔记八:集群模式 前面提到的Redis学习笔记七:主从复制和哨兵只能解决Redis的单点压力大和单点故障问题,接下来要讲的Redis Cluster模式,主要是 ...
- XV6学习笔记(2) :内存管理
XV6学习笔记(2) :内存管理 在学习笔记1中,完成了对于pc启动和加载的过程.目前已经可以开始在c语言代码中运行了,而当前已经开启了分页模式,不过是两个4mb的大的内存页,而没有开启小的内存页.接 ...
- Linux内核学习笔记-2.进程管理
原创文章,转载请注明:Linux内核学习笔记-2.进程管理) By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert L ...
随机推荐
- [Objective-C A]-知识点锦集
1.@autoreleasepool why1 2.retain O-C内存管理和点语法 1>OC内存管理正常情况要使用大量的retain和relrese操作 2>点语法可以减少使用re ...
- STL源码剖析(list)
SGI STL中list是使用环状双向链表实现的.它的结点结构定义如下: template <class T> struct __list_node { typedef void* voi ...
- 【VBA编程】13.Workbook对象的事件
Workbook事件用于响应对Workbook对象所进行的操作. [BeforeClose事件] BforeClose事件用于响应窗口关闭的操作 在工程资源器中,双击“ThisWorkbook”对象, ...
- Visual Studio 2015下编译zmq项目下其他项目踩进的项目引用坑
PS.在之前的一篇文章中介绍了如何用Visual Studio 2015编译zmq,在编译同解决方案中除了libzmq之外的项目例如inproc_thr时会报错误,具如下: Severity Code ...
- oracle 存储过程 ,触发器练习
/*以下代码是对emp表进行显示宽度设置 */col empno for 9999;col ename for a10;col job for a10;col mgr for 9999;col hir ...
- 使用 WinEdt 来写中文文章or 建模论文
找了几乎两个小时…… 后来发现… WinEdt 是可以用来写中文文章的…而并非只能英文文章或演示文稿… \documentclass{article} \usepackage{CJK} \begin{ ...
- Android studio使用心得(二)— 打包签名apk发布
1.—–Android Studio菜单 Build->Generate Signed APK 2.——Create new.. 3.——-跟eclipse里面一样,添加keystore 信 ...
- Python读取键盘输入
Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘.例如以下: raw_input input raw_input函数 raw_input() 函数从标准输入读取一个行.并返回 ...
- C++ Primer笔记6_STL之泛型算法
1.泛型算法: 大多数算法定义在头文件algorithm中.标准库还在头文件numeric中定义了一组数值泛型算法 仅仅读算法: 举例: find函数用于找出容器中一个特定的值,有三个參数 int v ...
- css - 当文本内容长度超出屏幕宽度时,以省略号代替
<style> .ellipsis{ text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } </styl ...