Unity3D ARPG游戏开发《最初的幻想》之强化敌人AI,折腾的GUI



昨天搞了死亡的完善与提示栏的工作。今天的话,首先再升级一下敌人的Ai吧。毕竟在玩家在敌人身后使劲攻击的话,这敌人也都不会有反应的,太不合理了。

打开Enemy脚本,在最前面“变量”标签中,先定义一个计数器,因为必须考虑到被同类“误伤”的情况:

private int m_attackMeCount=0;//被一个同类对象攻击的次数

然后再在最下面的WaitForAttack函数中将自己的对象传入自己的攻击对象,以作判断:

m_damageTarget.m_changeMeTarget=m_transform;//将自己的对象传给攻击的目标

现在就可以在GetState函数中对攻击自己的目标进行判断了:

if(m_changeState.m_changeMeTarget!=null)
{
	if(m_changeState.m_changeMeTarget.tag=="Enemy")

	{

		m_attackMeCount++;

		if(m_attackMeCount>3)//敌人被同样是怪物的敌人攻击三次以上,就会也攻击攻击自己的敌人怪物了

		{

			m_isIdle=false;

			m_attackTarget=m_changeState.m_changeMeTarget;

		}

	}else//如果被非同类的攻击,就直接打起来了

	{

		m_isIdle=false;

		m_attackTarget=m_changeState.m_changeMeTarget;

	}
}

这里我判断的计数器为三,也就是说,如果敌人被同样是怪物的敌人攻击了三次以上,就把自己的攻击目标设为攻击自己的,否则就直接攻击攻击自己的对象。

最后在PlayerControl脚本中,也还要加上一句将自己的对象传入攻击对象的语句:

m_nowAttackTarget.m_changeMeTarget=m_transform;

一样放在WaitForAttack中。

因为前面用到了“Enemy”标签来判断攻击自己的是否是敌人这一类,所以还要在编辑器中新建一个名为“Enemy”的Tag,然后再Enemy脚本的Start函数中加上这么一句话:

m_transform.tag=”Enemy”;

现在运行,一切Ok了。

那么现在继续下一步,把敌人的血条也加上罢!

这个如果使用DaikonGui就比较简单了,亏我第一做这游戏时,还用世界坐标转屏幕坐标,各种麻烦地花了好久才搞定……

算了,这个的麻烦成度同样超乎想象了….东西做是做好了,但是头顶的描述信息是所有人都会用到的,所以我想把它做成一个预制体放进去,待事例化一个什么用的着的东西时,直接将血条啊什么的实例化出来,直接传数据就是了,可是失败了……事例化出来的UI必须要在UI相机之下作为其子物体才有用!搞了一大晚上了,都没找着解决之道,本来找着一个可以将物体设置为另一个物体子物体的函数,但是却对DaikonGUI无效……

明天再研究不出来,我就还是用笨办法来解决了。。。。。。

Unity3D ARPG游戏开发《最初的幻想》之强化敌人AI,折腾的GUI

时间: 2024-10-13 12:23:25

Unity3D ARPG游戏开发《最初的幻想》之强化敌人AI,折腾的GUI的相关文章

Unity3D ARPG游戏开发《最初的幻想》之第一张地图与跳跃的改善详解

前面我们终于实现了人物动画.相机控制及昼夜系统,现在继续吧,为了方便继续编写的敌人之类的脚本,所以打算今天先把第一张地图画个大概.结果,画了我好久的地图….. ≡(▔﹏▔)≡ 我对美术方面的天赋简直是惨不忍睹了…..加之地图中途画的差不多的时候Unity又崩溃了一次….忘了保存(ㄒoㄒ).于是又忙活半天….这个地图完全靠临时发挥了,第一张地图我画了好几次了,基本上每次画出来的地形之类的都完全不一样,所以就不多解释了,就上一张大概的场景图吧: 看起来好简单吧?唉……开启编辑器,这时侯如果在场景中转

Unity3D ARPG游戏开发《最初的幻想》之GUI背包系统实现

昨天做了角色暴击…GUI浮动提示栏.现在的话,终于该继续前天被残忍打断的物品栏之类的GUI界面了! 首先还是把“属性”.“物品”.“技能”.“系统设置”几个按钮放上去罢. 我是这样设计的: 美工方面确实不是俺的长处,资源也都是用的DaikonGUI自带的. 新建一个Panel,用于盛放这几个按钮,Anchor设置为Right和Bottom即可. 然后再将这个Panel命名为“MyBottomBar”,在这个Panel中新建四个按钮,放上相应的图标即可.如果为了好看点,还可以设置Havor状态的显

关于《Unity3D/2D游戏开发从0到1》书籍再版说明

关于<Unity3D/2D游戏开发从0到1>第一版本在2015年7月1日全国发行,累计得到不少国内高校教师.培训机构的好评.但是由于Unity官方对于技术不断的升级与版本的快速迭代,基于Unity4.6版本的教学知识体系,则略显滞后.    随着2017年7月份,Unity2017.1正式版本的推出,<Unity3D/2D游戏开发从0到1>书籍的再版,则正式提上日程. 目前2017年8月份再版工作已经进行过半,现在给各位小伙伴汇报一下工作,希望得到更好的建议.现在说说第二版本的总体

《Unity3D/2D游戏开发从0到1》正式出版发行啦

书籍信息:   书籍的名称: <Unity3D/2D 游戏开发从0到1>   书号(ISBN): 978-7-121-26239-5    出版社: 电子工业出版社   发行时间:2015年7月1日 写作背景:    2015年6月30日我收到电子工业出版社张迪老师寄来,正式发行的<Unity3D/2D游戏开发从0到1>书籍.这本凝结着大半年心血的作品让我感慨万千.   本人从事游戏.软件与教学十多年,一直梦想可以进一步服务于全国广大的游戏与软件从业开发人员.14年下半年电子工业出

Unity3D 入门 游戏开发 Unity3D portal game development

Unity3D 入门 游戏开发 Unity3D portal game development 作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:[email protected] E-mail: 313134555 @qq.com 视频学习链接:Video learning link: [教学视频]深入浅出Unity3D--第一篇-何韬-CSDN学院-在线学习教程 u3d 4.6 c#  性能上 比 java脚本 好一些 C # is better than a Java

《Unity3D/2D游戏开发从0到1》正式出版发行

去年个人编写的Unity书籍正式在2015年7月正式发行,现在补充介绍一下个人著作.书籍信息: 书籍的名称: <Unity3D/2D 游戏开发从0到1> 书号(ISBN): 978-7-121-26239-5 出版社: 电子工业出版社 发行时间:2015年7月1日 写作背景: 2015年6月30日我收到电子工业出版社张迪老师寄来,正式发行的<Unity3D/2D游戏开发从0到1>书籍.这本凝结着大半年心血的作品让我感慨万千. 本人从事游戏.软件与教学十多年,一直梦想可以进一步服务于

Unity3D/2D游戏开发从0到1

这篇是计算机中Oracle类的优质预售推荐>>>><Unity3D/2D游戏开发从0到1> Unity3D/2D游戏开发从0到1(含DVD光盘1张) 采用 "案例化"教学思路, 以个人长期线下培训讲义为蓝本:讲解透彻.循序渐进.突出与优化游戏开发实战技巧:附有全国Unity游戏研发职位笔试面试真题集锦.Unity开发常见错误与分析.游戏开发职位简历模板 编辑推荐 按照"案例化"教学特点,全书贯穿两个重量级游戏的开发全过程讲解,让学

Unity3D独立游戏开发日记(一):动态生成树木

目前写的独立游戏是一个沙盒类型的游戏.游戏DEMO视频如下: 提到沙盒类型的游戏,就有人给出了这样的定义: 游戏世界离现实世界越近,自由度.随机度越高才叫沙盒游戏.所谓自由度,就是你在游戏里想干啥就干啥,想开车就开车,想走路就走路.想盖房子就盖房子,没有城管来找你麻烦.那么随机度,就是每天发生的事情不能一样,做的任务也不会就一条线路可走. 在我的沙盒游戏里,地形上的树木,岩石等都是随机生成的,这样不同的人玩的地图都会不一样.当然如果最后能做到地形也随机生成那就更完美了. 下面我就讲下树木随机生成

Unity3D独立游戏开发日记(二):摆放建筑物

在沙盒游戏里,能自由建造是很重要的特点,比如说风靡全球的<我的世界>,用一个个方块就能搭建出规模宏大的世界.甚至有偏激的人说,没有自由建造,就不是一个真正的沙盒游戏.的确,沙盒游戏的魅力有很大一部分是能自由构建一个游戏世界.看着自己一砖一瓦搭建起一个城堡世界会很有成就感的. 现如今的手游,大多数就是一个争斗和炫耀的世界.不管是传奇类的狂霸拽酷,还是连连看,消消乐等好友排名,就是消费国人的虚荣心.其实,游戏是第九艺术,要上升到艺术的角度.在游戏里,玩家需要一种情感的宣泄和寄托以及体验. 说了这么