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

网站建设方面的论文网站怎么做是满屏

网站建设方面的论文,网站怎么做是满屏,哈尔滨网站建设公司有哪些,如何用手机做钓鱼网站一: 连招思路 首先人物角色上有三个攻击实例对象 Damage,每一个damage定义了攻击的伤害值,攻击距离,触发器名称,伤害的发起者,攻击持续时间,攻击重置时间,伤害的碰撞框大小等字段: …

一: 连招思路

首先人物角色上有三个攻击实例对象 Damage,每一个damage定义了攻击的伤害值,攻击距离,触发器名称,伤害的发起者,攻击持续时间,攻击重置时间,伤害的碰撞框大小等字段:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;[System.Serializable]
public class Damage
{/// <summary>/// 触发动画触发器名称/// </summary>public string animationTrigger = "";/// <summary>/// 组合攻击伤害/// </summary>public int damage = 0;/// <summary>/// 伤害的攻击者/// </summary>public GameObject inflictor;/// <summary>/// 组合攻击持续时间/// </summary>public float duration = 1f;/// <summary>/// 连击重置时间 超过这个时间如果没有收到连击序列 连击将会被取消/// </summary>public float comboResetTime = .5f;[Space(10)][Header("hit collider settings")]public float collSize;public float collDistance;public float collHeight;}

当按下某一个键位的时候,播放对应索引的攻击,如果在攻击时间后再次收到了攻击键位的按下就认为是连击状态,这时候继续播放攻击动作。

二: 代码实现

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class PlayerCombat : MonoBehaviour
{// 主角的攻击组合public Damage[] attackCombo;// 主角的最后一次攻击类型public Damage lastAttack;// 记录最后一次攻击时间public float lastAttackTime;public PlayerController playerController;public CharactorState charactorState;// 最近一次攻击的索引public int attackIndex = 0;// 是否是连击状态public bool continueAttackCombo;void Awake(){playerController = GetComponent<PlayerController>();charactorState = GetComponent<CharactorState>();}public void combatEvent(){Debug.LogWarning("state is " + charactorState.curState);if (charactorState.curState != UnitState.ATTACK){// 是否在攻击窗口内bool insideComboWindow = (lastAttack != null && (Time.time < (lastAttackTime + lastAttack.duration + lastAttack.comboResetTime)));if (insideComboWindow && !continueAttackCombo && attackIndex < attackCombo.Length - 1){// 继续攻击attackIndex++;}else{// 重置攻击attackIndex = 0;}doAttack(attackCombo[attackIndex], UnitState.ATTACK);}if (charactorState.curState == UnitState.ATTACK && !continueAttackCombo && playerController.pc.isGround){if (attackIndex < attackCombo.Length - 1){// 已经处于攻击状态,且不是连续攻击 将连续攻击状态打开continueAttackCombo = true;return;}}}public void doAttack(Damage damage, UnitState state){Debug.Log("animationTrigger is " + damage.animationTrigger);if (damage.animationTrigger == "attack3"){Debug.Log("attack3");}lastAttackTime = Time.time;lastAttack = damage;lastAttack.inflictor = this.gameObject;charactorState.SetState(state);playerController.playerAnimation.setTrigger(damage.animationTrigger);Invoke("Ready", damage.duration);}public void Ready(){Debug.LogWarning("Ready");if (continueAttackCombo){// 重置是否继续连招动作 因为这个时候玩家没有触发攻击动作continueAttackCombo = false;if (attackIndex < attackCombo.Length - 1){attackIndex++;}else{attackIndex = 0;}Debug.LogWarning("连招" + attackCombo[attackIndex].animationTrigger);if (attackCombo[attackIndex] != null && attackCombo[attackIndex].animationTrigger.Length > 0){doAttack(attackCombo[attackIndex], UnitState.ATTACK);}}// 重置玩家状态charactorState.SetState(UnitState.IDLE);}// Update is called once per framevoid Update(){}
}

三:攻击窗口

如果当前主角的状态不是攻击状态,检查是否在攻击时间窗口内,如果在攻击时间窗口内就进行攻击索引的累加,否则攻击索引从0开始

if (charactorState.curState != UnitState.ATTACK){// 是否在攻击窗口内bool insideComboWindow = (lastAttack != null && (Time.time < (lastAttackTime + lastAttack.duration + lastAttack.comboResetTime)));if (insideComboWindow && !continueAttackCombo && attackIndex < attackCombo.Length - 1){// 继续攻击attackIndex++;}else{// 重置攻击attackIndex = 0;}doAttack(attackCombo[attackIndex], UnitState.ATTACK);}if (charactorState.curState == UnitState.ATTACK && !continueAttackCombo && playerController.pc.isGround){if (attackIndex < attackCombo.Length - 1){// 已经处于攻击状态,且不是连续攻击 将连续攻击状态打开continueAttackCombo = true;return;}}

http://www.yayakq.cn/news/589909/

相关文章:

  • 万州网站建设怎样批量做地级市网站
  • 麦田 网站建设电影网站开发PPT模板
  • 网站开发vs2013手机体验网站
  • 做网站的公司如何推广广东东莞人才市场
  • 笑话 语录用什么网站做怎么做类似清风dj网站
  • 建网站安全Wordpress 充值 卡密
  • 深圳建设厅网站wap网站生成系统
  • 企业网站开发制作合同如何制作小视频
  • 免费建站自己的网址搭建网站干什么
  • 营销网站建设企划案例查网站的关键词排名吗
  • 昆明网站排名优化费用手机网站一键导航代码
  • 网站建设的新闻wordpress允许上传rar
  • 网站建设所需人员wordpress 移动端跳转
  • 昆明网站推广优化公司网页设计框架
  • 网站做优化需要哪些后台信息房地产集团网站模板
  • 大连网站维护照片怎么制作视频短片
  • 南山住房和建设局网站如何用wordpress插件下载
  • 有网站源码如何建站自动发帖软件
  • 网站开发用户需求分析建设银行征信中心网站
  • 网址导航类网站如何做推广请别人做网站大概要多少钱
  • 建一个淘宝客网站需要多少钱黑龙江住建网
  • 酒店网站建设方案书大连凯杰建设有限公司网站
  • 电子商务网站建设技术基础--asp.net程序设计教学大纲企业网站建设用标语
  • 免费空间申请网站河南 网站开发
  • 网站在线访谈栏目建设给公司建立网站吗
  • joomla 网站模版北京网页设计 网页制作
  • 建设局发公告的网站品牌推广软文
  • 做视频网站程序多少钱哈尔滨百度网站排名
  • 企业网站建设代理商淘宝放单网站开发
  • 雅安网站建设wordpress 返回顶部插件