我们打开上一篇44战士职业平A怪物掉血的项目,
本章要做的事情是制作技能按钮,点鼠标点击时释放对范围内怪物的伤害技能
首先双击打开资源脚本下的Canvas预制体
制作技能栏
在资源商店中下载免费资源 - 技能图片
将技能图片拖拽至技能栏的Button按钮组件的Image上
对战士动画状态机增加一个 技能的动画 并创建参数Skill01Trigger
设直线
设置返回线
创建脚本:AttackCtrl.cs
using UnityEngine;
using UnityEngine.Events;
//提供机制不提供策略
public class AttackCtrl : MonoBehaviour{
float hurtTime;
float endTime;
float nowTime;
UnityAction hurtAction;
UnityAction endAction;
bool isAttacking = false;
public void Init() {
nowTime = 0;
hurtAction = null;
endAction = null;
endTime = 0;
hurtTime = 0;
isAttacking = false;
}
public bool DoAttack(float hurtTime,float endTime,UnityAction hurtAction,UnityAction endAction) {
if (isAttacking)
return false;
nowTime = 0;
this.isAttacking = true;
this.hurtTime = hurtTime;
this.endTime = endTime;
this.hurtAction = hurtAction;
this.endAction = endAction;
return true;
}
void Update() {
if (isAttacking == false)
return;
nowTime += Time.deltaTime;
if (nowTime >= hurtTime) {
if (hurtAction != null) {
//回调
hurtAction();
hurtAction = null;
}
}
if (nowTime >= endTime) {
if (endAction != null) {
endAction();
endAction = null;
}
this.isAttacking = false;
}
}
}
修改脚本:PlayerCtrl.cs
修改脚本:PlayerOpt.cs
保存脚本,接下来给怪物设置一个当血量小于等于0时触发的一个死亡动画以及销毁功能
修改脚本”BossCtrl.cs
修改脚本:Boss01UIInfo.cs
最后设置Boss01UI对象的血量同步脚本10000滴血
运行项目 - 战士职业主角点击一技能释放伤害型技能致使怪物血量中量减少
本章做了点击技能栏的1技能释放技能致使怪物血量减少以及怪物死亡后触发的死亡动画及销毁功能
接下来的内容:
本章利用事件中心实现了主角战士平A(按A键)对怪物血量造成伤害的效果
接下来的文章内容:
1.战士职业的位移型技能
2.窗口可拖拽脚本
3.点击名称寻找地点功能
4.隐藏怪物的生成
5.怪物I攻击范围内的主动攻击
6.掉落坐骑蛋的获取
7.异步传送转换场景
以及开放回合制、坐骑系统、宠物系统、背包系统、神炼系统、商城系统、Boss的目标跟随任务导航系统以及UI播放3D动画效果等等。
具体项目运行效果请关注water1024的b站视频项目演示《破碎纪元》
【Unity回合2.5D】破碎纪元_单机游戏热门视频 (bilibili.com)https://www.bilibili.com/video/BV1rZY4e9Ebs/?spm_id_from=333.999.0.0&vd_source=547091a95b03acfa8e8a9e46ef499cd6