当前位置: 首页 > news >正文

Unity类银河恶魔城学习记录1-14 AttackDirection源代码 P41

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考
此代码仅为较上一P有所改变的代码

【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili

PlayerPrimaryAttackState.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class PlayerPrimaryAttackState : PlayerState
{//p38 2.从ground进入private int comboCounter;private float lastTimeAttacked;//距离上一次攻击的时间private float comboWindow = 2;//可以间隔的时间public PlayerPrimaryAttackState(Player _player, PlayerStateMachine _stateMachine, string _animBoolName) : base(_player, _stateMachine, _animBoolName){}public override void Enter(){base.Enter();if(comboCounter >2||Time.time>comboWindow+lastTimeAttacked)//当计数器超过2和间隔时间大于window时,进入第一个攻击动作{comboCounter = 0;}Debug.Log(comboCounter);player.anim.SetInteger("ComboCounter", comboCounter);//设置animtor里的comboCounter#region 选择攻击方向float attackDir = player.facingDir;if(xInput != 0){attackDir = xInput;}#endregion//使其能改变攻击方向player.SetVelocity(player.attackMovement[comboCounter].x * attackDir, player.attackMovement[comboCounter].y);//给角色初速度,让角色在攻击触发时移动一点stateTimer = .1f;}public override void Exit(){base.Exit();player.StartCoroutine("BusyFor", .15f);comboCounter++;lastTimeAttacked = Time.time;}public override void Update(){base.Update();if(stateTimer<0){player.ZeroVelocity();}//1.修改移动时攻击时后可以移动的BUG//2.但给了点时间模拟惯性可以动一点if (triggerCalled){stateMachine.ChangeState(player.idleState);}}
}

http://www.lryc.cn/news/295078.html

相关文章:

  • DataX详解和架构介绍
  • 02.05
  • 【C语言】贪吃蛇 详解
  • Mysql MGR搭建
  • 新火种AI|寒武纪跌落神坛!七年连亏50亿,AI芯片第一股不行了吗?
  • three.js CSS3DObject、CSS2DObject、CSS3DSprite、Sprite的作为标签的区别
  • 第7节、双电机直线运动【51单片机+L298N步进电机系列教程】
  • 【C语言 - 哈希表 - 力扣 - 相交链表】
  • C++参悟:内存管理-unique_ptr
  • 【征稿已开启】第五大数据、人工智能与软件工程国际研讨会(ICBASE 2024)
  • Vue3父子组件传参
  • SpringBoot整理-微服务
  • 服务器和CDN推荐
  • c#读取csv文件中的某一列的数据
  • 不懂快团团大团长对接?凭什么快团团的钱轮到你赚?
  • OpenGL 入门(九)—Material(材质)和 光照贴图
  • jmeter-03界面介绍
  • 探究 MySQL 中使用 where 1=1 是否存在性能影响
  • VSCode无法启动:Waiting for server log...
  • VMware虚拟机清理瘦身
  • Coil:Android上基于Kotlin协程的超级图片加载库
  • 时间序列(Time-Series)MultiWaveletCorrelation.py代码解析
  • C++的缺省参数和函数重载
  • nginx upstream server主动健康检测模块ngx_http_upstream_check_module 使用和源码分析(上)
  • 第01课:自动驾驶概述
  • Docker进阶篇-CIG重量级监控系统
  • 鸿蒙踩坑合集
  • Golang-Map有序输出——使用orderedmap库实现
  • 基础数学问题整理
  • 【Linux】环境基础开发工具的使用(一)