中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

許昌知名網(wǎng)站建設(shè)價(jià)格重慶發(fā)布的最新消息今天

許昌知名網(wǎng)站建設(shè)價(jià)格,重慶發(fā)布的最新消息今天,wordpress國(guó)產(chǎn)網(wǎng)校,服務(wù)器主機(jī)搭建網(wǎng)站一: 連招思路 首先人物角色上有三個(gè)攻擊實(shí)例對(duì)象 Damage,每一個(gè)damage定義了攻擊的傷害值,攻擊距離,觸發(fā)器名稱(chēng),傷害的發(fā)起者,攻擊持續(xù)時(shí)間,攻擊重置時(shí)間,傷害的碰撞框大小等字段: …

一: 連招思路

首先人物角色上有三個(gè)攻擊實(shí)例對(duì)象 Damage,每一個(gè)damage定義了攻擊的傷害值,攻擊距離,觸發(fā)器名稱(chēng),傷害的發(fā)起者,攻擊持續(xù)時(shí)間,攻擊重置時(shí)間,傷害的碰撞框大小等字段:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;[System.Serializable]
public class Damage
{/// <summary>/// 觸發(fā)動(dòng)畫(huà)觸發(fā)器名稱(chēng)/// </summary>public string animationTrigger = "";/// <summary>/// 組合攻擊傷害/// </summary>public int damage = 0;/// <summary>/// 傷害的攻擊者/// </summary>public GameObject inflictor;/// <summary>/// 組合攻擊持續(xù)時(shí)間/// </summary>public float duration = 1f;/// <summary>/// 連擊重置時(shí)間 超過(guò)這個(gè)時(shí)間如果沒(méi)有收到連擊序列 連擊將會(huì)被取消/// </summary>public float comboResetTime = .5f;[Space(10)][Header("hit collider settings")]public float collSize;public float collDistance;public float collHeight;}

當(dāng)按下某一個(gè)鍵位的時(shí)候,播放對(duì)應(yīng)索引的攻擊,如果在攻擊時(shí)間后再次收到了攻擊鍵位的按下就認(rèn)為是連擊狀態(tài),這時(shí)候繼續(xù)播放攻擊動(dòng)作。

二: 代碼實(shí)現(xiàn)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class PlayerCombat : MonoBehaviour
{// 主角的攻擊組合public Damage[] attackCombo;// 主角的最后一次攻擊類(lèi)型public Damage lastAttack;// 記錄最后一次攻擊時(shí)間public float lastAttackTime;public PlayerController playerController;public CharactorState charactorState;// 最近一次攻擊的索引public int attackIndex = 0;// 是否是連擊狀態(tài)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){// 是否在攻擊窗口內(nèi)bool insideComboWindow = (lastAttack != null && (Time.time < (lastAttackTime + lastAttack.duration + lastAttack.comboResetTime)));if (insideComboWindow && !continueAttackCombo && attackIndex < attackCombo.Length - 1){// 繼續(xù)攻擊attackIndex++;}else{// 重置攻擊attackIndex = 0;}doAttack(attackCombo[attackIndex], UnitState.ATTACK);}if (charactorState.curState == UnitState.ATTACK && !continueAttackCombo && playerController.pc.isGround){if (attackIndex < attackCombo.Length - 1){// 已經(jīng)處于攻擊狀態(tài),且不是連續(xù)攻擊 將連續(xù)攻擊狀態(tài)打開(kāi)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){// 重置是否繼續(xù)連招動(dòng)作 因?yàn)檫@個(gè)時(shí)候玩家沒(méi)有觸發(fā)攻擊動(dòng)作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);}}// 重置玩家狀態(tài)charactorState.SetState(UnitState.IDLE);}// Update is called once per framevoid Update(){}
}

三:攻擊窗口

如果當(dāng)前主角的狀態(tài)不是攻擊狀態(tài),檢查是否在攻擊時(shí)間窗口內(nèi),如果在攻擊時(shí)間窗口內(nèi)就進(jìn)行攻擊索引的累加,否則攻擊索引從0開(kāi)始

if (charactorState.curState != UnitState.ATTACK){// 是否在攻擊窗口內(nèi)bool insideComboWindow = (lastAttack != null && (Time.time < (lastAttackTime + lastAttack.duration + lastAttack.comboResetTime)));if (insideComboWindow && !continueAttackCombo && attackIndex < attackCombo.Length - 1){// 繼續(xù)攻擊attackIndex++;}else{// 重置攻擊attackIndex = 0;}doAttack(attackCombo[attackIndex], UnitState.ATTACK);}if (charactorState.curState == UnitState.ATTACK && !continueAttackCombo && playerController.pc.isGround){if (attackIndex < attackCombo.Length - 1){// 已經(jīng)處于攻擊狀態(tài),且不是連續(xù)攻擊 將連續(xù)攻擊狀態(tài)打開(kāi)continueAttackCombo = true;return;}}

http://www.risenshineclean.com/news/3060.html

相關(guān)文章:

  • 宣傳網(wǎng)站建設(shè)意義查看百度關(guān)鍵詞價(jià)格
  • 阿圖什網(wǎng)站寧波核心關(guān)鍵詞seo收費(fèi)
  • 網(wǎng)站 展示百度搜索風(fēng)云榜總榜
  • 北京澳環(huán)網(wǎng)站拼多多關(guān)鍵詞怎么優(yōu)化
  • 甜品網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)網(wǎng)站首頁(yè)不收錄
  • 做英文行程的網(wǎng)站汕頭自動(dòng)seo
  • 濟(jì)南企業(yè)做網(wǎng)站網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃案例
  • 寧波網(wǎng)站建設(shè)方案報(bào)價(jià)四川seo平臺(tái)
  • 不花錢(qián)自己可以做網(wǎng)站嗎專(zhuān)門(mén)搜索知乎內(nèi)容的搜索引擎
  • 宣傳冊(cè)內(nèi)容排版揚(yáng)州seo
  • 怎樣php網(wǎng)站建設(shè)河南網(wǎng)站建設(shè)公司哪家好
  • 北京智能網(wǎng)站建設(shè)系統(tǒng)加盟怎么用網(wǎng)絡(luò)推廣業(yè)務(wù)
  • 在做網(wǎng)站編代碼網(wǎng)頁(yè)導(dǎo)航條中的文字出現(xiàn)在導(dǎo)航條的下方怎莫解決東莞有限公司seo
  • 網(wǎng)站建設(shè)的一般步驟精準(zhǔn)粉絲引流推廣
  • 成都哪里做網(wǎng)站便宜百度的合作網(wǎng)站有哪些
  • 網(wǎng)站建設(shè)實(shí)訓(xùn)內(nèi)容廣東東莞疫情最新消息今天又封了
  • 什么情況下需要建設(shè)網(wǎng)站蘋(píng)果自研搜索引擎或?yàn)樘娲雀?/a>
  • 成都網(wǎng)站建設(shè)博客國(guó)際新聞最新消息十條摘抄
  • 時(shí)光軸網(wǎng)站模板關(guān)鍵詞在線聽(tīng)
  • 龍巖新聞網(wǎng)龍巖kk社區(qū)搜索引擎外部鏈接優(yōu)化
  • 地方門(mén)戶(hù)網(wǎng)站建站流程杭州百度seo優(yōu)化
  • wordpress商城建站教程創(chuàng)建網(wǎng)站要錢(qián)嗎
  • 永久免費(fèi)自助建站朋友圈廣告投放價(jià)格表
  • 織夢(mèng)網(wǎng)站首頁(yè)打開(kāi)慢鄭州企業(yè)網(wǎng)絡(luò)推廣外包
  • 做網(wǎng)站做的好的公司有哪些免費(fèi)網(wǎng)站排名優(yōu)化軟件
  • 甘肅做網(wǎng)站哪家專(zhuān)業(yè)推廣計(jì)劃方案模板
  • 深圳 電子商務(wù)網(wǎng)站開(kāi)發(fā)在線智能識(shí)圖
  • wordpress圖片批量上傳插件下載游戲優(yōu)化大師
  • 請(qǐng)人幫忙做網(wǎng)站推廣seo自學(xué)網(wǎng)官網(wǎng)
  • 建設(shè)工程網(wǎng)教育網(wǎng)官網(wǎng)河南鄭州網(wǎng)站推廣優(yōu)化外包