unity怪物攻击玩家减血_Unity-塔防游戏之怪物波次简单算法
塔防游戏是非常经典的游戏 它的玩法也比较简单 一波接着一波的怪物出来 怪物沿着固定的路线行走 玩家需要控制攻击塔在怪物到达终点时 将它消灭 否则 到达终点的怪物超过一定的数量 玩家就输了
一、每一波的怪物的属性是不同的 比如说 它的移动速度 生命值、怪物数量等。
二、需要设置一共多小波 每一波出现的时间间隔 每一波怪物间的间隔
让我们开始吧:
1. 先确定好两个位置 一个是怪物出现的位置 一个是怪物行走的终点位置
2. 创建怪物预设体 给怪物加上控制脚本 代码如下:usingSystem.Collections;
usingSystem.Collections.Generic;
usingUnityEngine;
usingUnityEngine.AI;// 波次结构体
public struct Wave
{
//波次间隔
public float waveInterval;
//怪物间隔
public float monsterInterval;
//怪物个数
public int monsterCount;
//怪物移动速度
public float monsterSpeed;
//怪物血量
public float monsterHealth;
}public class MonsterInit:MonoBehaviour{
//怪物出生点
publicTransformbegin;
//怪物预设体
public GameObject monsterPrefab;
//波次
public int waveCount=10;
//波次数组
public Wave[] waves;
//可以初始化
private bool canInit=true;
//计数器、计时器
private float waveTimer=0;
private float monsterTimer=0;
private int waveIndex=0;
private int monsterIndex=0;void Awake()
{
// 初始化数组
waves=new Wave[waveCount];
}
思路如下:每一波的怪物会越来越强 那么我我就以第一波为为基础 然后在循环设置接下来的每一波 每一波在每一波的基础上去增强属性。
voidStart()
{
//设置第一波怪的信息
waves[0].waveInterval=5f;
waves[0].monsterInterval=1.5f;
waves[0].monsterCount=5;
waves[0].monsterSpeed=0.3f;
waves[0].monsterHealth=100;
for(inti=1;i
{
waves[i].waveInterval=waves[0].waveInterval-i*0.1f;
waves[i].monsterInterval=waves[0].monsterInterval-i*0.1f;
waves[i].monsterCount=waves[0].monsterCount+i;
waves[i].monsterSpeed=waves[0].monsterSpeed+i*0.2f;
waves[i].monsterHealth=waves[0].monsterHealth+i*10f;
}
}
//Updateiscalledonceperframe
voidUpdate(){
if(!canInit)
return;
waveTimer+=Time.deltaTime;
if(waveTimer>=waves[waveIndex].waveInterval)
{
//如果当期波次的怪物没有生成完毕
if(monsterIndex
//怪物计时器计时
monsterTimer+=Time.deltaTime;
if(monsterTimer>=waves[waveIndex].monsterInterval){
GameObjectcurrentMonster=Instantiate(monsterPrefab,begin.position,Quaternion.identity);
//设置怪物导航速度
currentMonster.GetComponent().speed=waves[waveIndex].monsterSpeed;
//怪物计数器++
monsterIndex++;
//怪物计时器归零
monsterTimer=0;
//Debug.Log("初位置"+begin.position);
}
}
else
{
//波次++
waveIndex++;
//怪物计数器归零
monsterIndex=0;
//波次计时器归零
waveTimer=0;
//怪物计时器归零
monsterTimer=0;
if(waveIndex>=waveCount){
canInit=false;
}
}
}
}
}
unity怪物攻击玩家减血_Unity-塔防游戏之怪物波次简单算法相关推荐
- unity怪物攻击玩家减血_Unity RPG游戏攻击的判定
在一个游戏里面,最重要的要数那些算法了.比如追击AI算法,寻路算法.一个优质的算法能让你的游戏体验更好.那么在RPG游戏里面,我们玩家角色的普攻一般情况下,如果选择的人物是那种剑士职业的(这里打个比方 ...
- unity怪物攻击玩家减血_利用Unity协程实现一个简单的怪物寻路与跟随AI
利用Unity协程实现一个简单的怪物寻路与跟随AI,通过分析怪物行为与逻辑,实现简单的平面怪物寻路与跟随效果. 分析 对于游戏中怪物的行为,简单归纳为如下几部分: 怪物在预设范围内随机移动. 玩家走入 ...
- unity怪物攻击玩家减血_Unity3D 战斗系统中的怪物简单AI(简单AOI)
AI With Monster In Battle System Introduction 一款RPG的战斗模块中,怪物AI是又一基础单元.在经典的即时战斗中,比较简单的流程是角色进入怪物的仇恨范围- ...
- unity塔防游戏怪物转向_浅谈塔防游戏的“进化史”,独特创意把“策略至上”推到新的高度...
塔防游戏的起源是一款叫<堡垒>的街机游戏,虽然说该游戏和目前的塔防游戏还有一些区别,但是目前的塔防游戏基本上都有借鉴这个游戏的内容,说它是塔防游戏的鼻祖也不为过.真正把塔防游戏带到大家面前 ...
- unity怪物攻击玩家减血_热血传奇:游戏里要千万小心的小怪,玩家稍有不慎就要吃大亏...
热血传奇这款网游当中,除了形形色色的武器和装备之外,或许数量较多的就是地图当中的各式各样怪物了,在这其中有怪物也是大的BOSS,有的很容易就可以解决的.像新手任务的钉耙猫.鹿.半兽:还有像例如赤月恶魔 ...
- unity怪物攻击玩家减血_怪物猎人发布15周年 — 回顾历代封面怪之三大传奇怪物...
本文来自Jump用户投稿,作者:水熊 2019年3月正逢怪物猎人发布15周年之际,CAPCOM官方网站公布了本次15周年庆典的主题图片. (转自CAPCOM官网,本次15周年主题图片为历代怪物猎人作品 ...
- unity塔防游戏怪物转向_红包版塔防游戏合集-可以赚钱领红包的塔防游戏-无广告塔防游戏红包版大全...
家园保卫战红包版等级:9.22020-11-1016.7MB简体中文下载推荐理由:家园保卫战红包版是一款全新塔防赚钱小游戏,和植物大战僵尸画风有些相似,只不过这款游戏增加了红包版机制,每次闯关成功都有 ...
- unity怪物攻击玩家减血_像素地牢开发(unity) 第一篇(并不是第一天)
像素地牢开发(unity) 第一篇(并不是第一天) 大二的时候就特别想制作独立游戏,每次逛b站刷到独立游戏制作的视频就十分羡慕,然鹅我却一直鸽着(别问,问就是刷视频,打王者),但我还是利用了一些空闲时 ...
- unity怪物攻击玩家减血_unity3d学习笔记(七)利用单例脚本实现英雄与怪物的攻击与受击...
本系列文章由Aimar_Johnny编写,欢迎转载,转载请标明出处,谢谢. http://blog.csdn.net/lzhq1982/article/details/12653945 我们的世界有了 ...
- unity怪物攻击玩家减血_Unity3d 怪物死亡燃烧掉效果
效果 BurnToFadeOut.shader代码 Shader "BurnToFadeOut" { Properties { _StartColor ("Start C ...
最新文章
- 确定NTFS权限应用的位置
- Android Service演义
- 在控制台中输入月,日. 计算这是一年的第几天.(Python)
- 线段树专题-黑白棋盘 BZOJ-1453
- SpringBoot—Entity父子类表@Inheritance和@MappedSuperclass
- LintCode 820. 矩形
- html元素上下移动,一个可以上下摆动的html元素
- C#轻量级通通讯组件StriveEngine —— C/S通信开源demo(2) —— 使用二进制协议 (附源码)...
- SSM、SSH框架原理
- 计算机黑屏然后蓝屏怎么办,突然蓝屏死机开机黑屏怎么办_蓝屏之后重启屏幕黑屏的解决方法...
- 电影:少年派的奇幻漂流(Life of Pi)
- 虚拟贴图理论篇之Texture Filtering
- I2C器件的从设备地址的设置(以AT24C02为例)
- 高度自适应布局 flew伸缩布局
- Linux中EOF用法
- 女子手机流量一夜疯跑了50GB
- 多个USB转串口设备区分方法
- 开心网 开心网 到底哪个是开心网?
- 不同版本iOS的特性和差异
- 访完美世界副总裁佟庆:游戏开发如何运用人工智能技术?
热门文章
- reviewboard--ubuntu安装reviewboard
- u盘linux反应好慢,识别U盘很缓慢怎么办的八种解决方法
- beyond compare软件安装与破解
- 作业2:健身类软件调研
- 计算机10进制213.375怎样转化为二进制,2进制转10进制(二进制怎么算)
- Win10如何把D盘空间分给C盘|Win10硬盘分成多个分区
- css transition ease,css3 transition属性
- angular 万年历_世界豪华手表
- 内核block层IO调度器—bfq算法深入探索2
- POJ 小白算法学习 任重而道远