五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

關(guān)于角色攻擊的解決

2023-02-22 18:44 作者:WonderFF1  | 我要投稿

????????

????????角色攻擊功能一直是RPG游戲的核心玩法,首先是攻擊連擊次數(shù)的設(shè)計(jì),我的角色可以使用三次連擊,但是為了實(shí)現(xiàn)“連續(xù)”攻擊的效果,需要玩家在固定的時(shí)間內(nèi)完成這三次攻擊,才能使得連擊能夠流暢。我需要為攻擊設(shè)置幾個(gè)基本參數(shù),分別是連擊完成的時(shí)間(Interval)、連擊次數(shù)(comboStep)、是否正在攻擊(isAttack)、是否正在播放攻擊動(dòng)畫(huà)(isPlaying)、攻擊類(lèi)型(attackType)、附加速度(attackSpeed)。Interval參數(shù)就是這三次連擊的最長(zhǎng)完成時(shí)間,如果不能在這個(gè)時(shí)間內(nèi)完成三連擊,則會(huì)從Attack1重新開(kāi)始;comboStep參數(shù)是記錄攻擊次數(shù),區(qū)分Attack1、23,用以播放不同的動(dòng)畫(huà)和產(chǎn)生不同的效果;isAttack參數(shù)是檢測(cè)玩家攻擊的參數(shù),為真則表示正在攻擊,玩家連擊需要在上次攻擊的后半程再按攻擊,如果在前半程就能攻擊則會(huì)打斷攻擊,如果在動(dòng)畫(huà)播放末尾才能攻擊則會(huì)使得連擊不流暢,這也是常說(shuō)的預(yù)輸入機(jī)制;isPlaying參數(shù)是檢測(cè)動(dòng)畫(huà)是否正在播放的參數(shù),為真則表示動(dòng)畫(huà)正在播放,因?yàn)橥婕夜魰?huì)有一個(gè)向前的附加速度且攻擊時(shí)不能隨意移動(dòng),所以設(shè)置這個(gè)參數(shù)是為了使得攻擊動(dòng)畫(huà)仍在播放時(shí),雖然能預(yù)輸入下一次攻擊,但是不能隨意移動(dòng);attackType參數(shù)記錄了攻擊類(lèi)型,有普通攻擊和跳躍攻擊;attackSpeed參數(shù)是攻擊的附加速度,玩家的攻擊會(huì)擊退敵人,為了防止連擊無(wú)法連續(xù)命中,需要附加一個(gè)向前的速度。

以下是具體代碼和攻擊流程。

?一次完整攻擊的示意圖

void Update()

??? {

??????? if (isAttack)

??????????? isPlaying = true;

??????? Attack();

??? }

void Attack()//攻擊

??? {

??????? if (Input.GetButtonDown("Attack") && !isAttack)

??????? {

??????????? isPlaying = true;

??????????? isAttack = true;

??????????? attackType = "normal";

??????????? comboStep++;

??????????? if (comboStep > 3)

??????????????? comboStep = 1;

???????? ???timer = interval;

??????????? anim.SetTrigger("normalAttack");

??????????? anim.SetInteger("comboStep", comboStep);

??????? }

??????? else if (Input.GetButtonDown("Attack"))

??????? {

??????????? isPlaying = true;

??????????? isAttack = true;

??????????? attackType = "air";

??????????? anim.SetTrigger("airAttack");

??????????? timer = 0;

??????? }

??????? if (timer != 0)

??????? {

??????????? timer -= Time.deltaTime;

??????????? if (timer <= 0)

??????????? {

??????????????? timer = 0;

???????? ???????comboStep = 0;

??????????? }

??????? }

??? }

?

??? public void AttackOver()//攻擊結(jié)束

??? {

??????? isAttack = false;

??? }

?

??? public void AnimPlayingOver()//動(dòng)畫(huà)結(jié)束

??? {

??????? isPlaying = false;

??? }

}

????????這樣通過(guò)代碼和動(dòng)畫(huà)系統(tǒng)的配合,玩家就能實(shí)現(xiàn)較為流暢的連擊了。本人做到這一步已經(jīng)基本解決攻擊手感問(wèn)題,在此僅僅提供一種基本方案,故沒(méi)有進(jìn)行下一步研究改進(jìn)。


關(guān)于角色攻擊的解決的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
仪陇县| 普格县| 天水市| 鱼台县| 湖南省| 保亭| 永仁县| 尼玛县| 瓮安县| 潮安县| 黄梅县| 杨浦区| 登封市| 太原市| 宣化县| 南溪县| 宜兴市| 洮南市| 威信县| 天门市| 静海县| 荣昌县| 南康市| 江山市| 绥中县| 南华县| 慈溪市| 松原市| 大新县| 搜索| 卢氏县| 神木县| 铜山县| 泰州市| 房产| 莲花县| 丰镇市| 临沭县| 蒙山县| 岐山县| 手游|