我们打开上一篇43事件中心的项目,
本章要做的事情是给主角增加一个xxxCtrl.cs脚本,再创建一个xxxOpt.cs调用xxxCtrl.cs机制层利用事件中心再写一个主角战士平A对怪物的伤害
首先创建脚本:PlayerCtrl.cs
- using UnityEngine;
- public class PlayerCtrl : MonoBehaviour{
- BossCtrl bossCtrl;
- public void Start() {
- bossCtrl = FindObjectOfType<BossCtrl>();
- }
- public void SetPlayerHpValueChange(float attackValue){
- bossCtrl.currentHp -= (int)((attackValue -
- bossCtrl.defineValue) * (1 + Random.Range(-0.3f,0.3f)));
- }
- }
复制代码 将xxxCtrl.cs脚本增加到主角资源框架上

再创建脚本:PlayerOpt.cs

- using UnityEngine;
- public class PlayerOpt : MonoBehaviour{
- GameManager gm;
- PlayerRayClickNavigation player;
- #region 事件中心
- BossCtrl bossCtrl;
- PlayerCtrl playerCtrl;
- Vector3 monsterPos;
- Vector3 selfPos;
- #endregion
- public void Start(){
- gm = GameManager.Instance;
- player = gameObject.GetComponent<PlayerRayClickNavigation>();
- #region 事件中心
- bossCtrl = FindObjectOfType<BossCtrl>();
- playerCtrl = gameObject.AddComponent<PlayerCtrl>();
- EventCenter.Instance.AddEventListener<Vector3>("MonsterPositionChanged", OnMonsterPositionChanged);
- monsterPos = GameObject.FindWithTag("Monster").gameObject.transform.position;
- #endregion
- }
- void Update(){
- #region 事件中心
- selfPos = transform.position;
- Player01A(selfPos, monsterPos);
- #endregion
- }
- #region 事件中心
- void Player01A(Vector3 selfPos, Vector3 monsterPos){
- this.selfPos = selfPos;
- this.monsterPos = monsterPos;
- if (Vector3.Distance(selfPos, monsterPos) < 10){
- if (player.changeProfess == 2){
- if (Input.GetKeyDown(KeyCode.A)){
- playerCtrl.SetPlayerHpValueChange(gm.infoSys.attackValue);
- }
- }
- }
- }
- void OnDestroy(){
- EventCenter.Instance.RemoveEventListener<Vector3>("MonsterPositionChanged", OnMonsterPositionChanged);
- }
- void OnMonsterPositionChanged(Vector3 newPosition){
- monsterPos = newPosition;
- Player01A(transform.position, monsterPos);
- }
- #endregion
- }
复制代码 再将该脚本增加到资源框架上

生存后运行项目

本章利用事件中心实现了主角战士平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
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |