说明:开始游戏时播放ui动画,放完后摧毁红色闸门。游戏结束时(吃完红宝石),弹出用时、结束画面。
流程是:
说明:红宝石和蓝宝石是一次性的,所以拾取后要摧毁音效对象,而黄宝石是需要重复利用的,不需要摧毁。
为了整体音效更好管理,新建一个SoundEffectsPlayer类,附加在SFX Player对象上,SFX Player对象上要有AudioSource组件。
public class SoundEffectsPlayer : MonoBehaviour{ public static AudioSource audioSource { get; private set; } private void Awake() { audioSource = GetComponent<AudioSource>(); audioSource.playOnAwake = false; }}
说明:未落地时按跳跃键,可被记录,并且落地后起跳。
PlayerInput中添加变量public bool HasJumpInputBuffer { get; set; }
public bool HasJumpInputBuffer { get; set; }
人物在地面/平台边缘即将掉落的时候,仍有机会进行跳跃动作;
其原理是:在人物掉落判定时开始计时,在设置的土狼时间内,可以按键跳跃。
总章中间漏了点,最近懒得补。干脆做到哪写到哪吧,有时间再整理。
跳跃在空中的状态是:跳起->下落;
跳起之后松开空格就是下落状态,所以二段跳逻辑我们写在下落状态中;
新建一个空中跳跃状态(PlayerState_AirJump.cs),为他添加资产菜单(CreateAssetMenu);
空中跳跃的逻辑和普通跳跃一样,所以直接复制代码即可。重要的地方在于,我们需要给二段跳进行限制。
转载自知乎用户:Ouroboros
文章地址:https://zhuanlan.zhihu.com/p/516625841
本篇节选了body部分
仅做记录
期间会提示安装.net framework,sdk包。
教程来自b站阿严:https://www.bilibili.com/video/BV1rL4y1W7KH
成果展示:
【[unity]平台跳跃类demo】 https://www.bilibili.com/video/BV1AK411Q7ry?share_source=copy_web&vd_source=644eac695af0d52dcffdec474d1423b1
2 / 3