「Unity俯视角射击」我们做一个元气骑士完整Demo(四)( 二 )
最后 , 除了被攻击的动画和镜头抖动这两个效果 , 还需要一个UI上面的数值显示 , 为此我制作了一个用于显示被攻击的UI预制体 。
①新建一个Text , 调整成合适的大小和颜色 , 并新建一个脚本用于控制该UI 。
②编写脚本 , 该预制体的脚本逻辑非常简单 , 用DoTween做了一段动画 , 结束时删除自己即可 。
public class BeAttackText : MonoBehaviour{void Start(){transform.localScale = new Vector3(0, 0, 1);transform.DOScale(new Vector3(1, 1, 0), 0.4f);transform.DOMoveY(transform.position.y + 20, 0.5f);Destroy(gameObject,0.6f);}}
③在GameManager中控制在对应的位置生成该预制体 。
public void ShowAttack(float data, Vector3 pos){GameObject textgo = Instantiate(beAttackText, pos, Quaternion.identity);textgo.transform.SetParent(GameObject.Find("Canvas").transform);textgo.GetComponent().text = "-" + data;}
在BeAttack方法中调用这个ShowAttack方法 , 传入屏幕映射值作为生成该预制体的位置 。
三、怪物的被攻击虽然游戏中有四种怪 , 但是被攻击时目前来讲没有什么差别 , 主要操作都是在父类里面写的 。
public virtual void BeAttack(float data){hp -= data;if (hp <= 0){monsterState = MonsterState.Die;GetComponent().SetBool("die", true);GetComponent
基本结构和玩家被攻击方法也差不多 , 只是没有防御值判断 。
其中不同的地方一个是怪物死亡之后需要通知自己所在的房间自己已经被打败了 , 在房间持有怪物List中删除自己 。
另一个就是需要生成金币和魔法石 , 而这些金币和魔法石在玩家靠近时会自动飞向玩家 。
文章插图
private void Update(){if (!isDrop){if (Vector3.Distance(transform.position, target) > 0.01)transform.position = Vector3.Lerp(transform.position, target, Time.deltaTime * speed);elseisDrop = true;}else{if (Vector3.Distance(transform.position, player.position) <= getDistance)transform.position = Vector3.Lerp(transform.position, player.position, Time.deltaTime * speed);if (Vector3.Distance(transform.position, player.position) <= 0.5){player.GetComponent().AddCoin();Destroy(gameObject);}}}
文章插图
除此之外还可以制作一些木箱子花瓶之类的可以被打碎的道具 , 或者是打碎之后有物体溢出的箱子等等 。
你可以设想一下如果不使用接口应该如何实现这些逻辑判断 , 或许你会想到更好的办法? 。
游戏Demo源码+素材网盘链接:
提取码:8bwo
——分割线——
欢迎加入游戏开发群欢乐搅基:1082025059
【「Unity俯视角射击」我们做一个元气骑士完整Demo(四)】对游戏开发感兴趣的童鞋可戳这里进一步了解:
推荐阅读
- 智媒视角看深圳用数据解析城市
- 国际|“新外贸架构师”张阔的关键词:数字化、买家视角、简单……
- GET|灵石教育科技李哲羽:从游戏的视角理解教育
- 开普勒|用上帝视角看《异星灾变》,揭秘开普勒22-b的前世今生
- brainnews|Science重磅:基于θ振荡的海马记忆编码新颖视角
- 今日视角188|圣商教育:解析薪酬管理对企业主要有哪些积极作用
- 三维空间|在更高维度的视角下,我们的世界是什么样的?
- 财经V视角|也是腾讯价值的发现?腾讯股价大涨!,蚂蚁上市
- 私家视角资讯|世界有一个乔布斯就改变了移动互联网!任正非这篇讲话或改变社会
- 5g网络|5G为什么突然不火了?