专栏/Unity知识记录--Timeline制作音游(11--按键按下判定)

Unity知识记录--Timeline制作音游(11--按键按下判定)

2021年05月22日 14:01--浏览 · --点赞 · --评论
彩紫睨羽
粉丝:2777文章:239

我们来处理按下判定的问题,也就是之前我们空着的玩家输入响应1-9。

同样这里只写一个作为例子。

首先这里我们用的是Input System,对按键的输入进行了判断。


最关键的核心,就是移除判定表的点和取消协程。首先第一层结构就是用来区分按下的情况。

接下来就是判断判定列表内对应的判断是不是已经用完了,避免玩家乱按报错。

接下来我就写了一串很长的判断。

接下来解释判断中的内容做什么的。

首先我们获取到按下时间,到最近的下一个点的时间差是多少。

首先第一种情况,音符还没出就乱按。

接下来是第一种判断类型,按下时机在最佳判定前。

接下来是按下时机在最佳判定后,这里主要是要取消协程。

然后就依靠判断完善所有的情况。

还缺一点,就是按下的判定框需要消掉,虽然目前在事件点后会正常的消失,但是提前按却不会消失,这里我们在下一篇中解决。

彩紫睨羽

public void 玩家输入响应1(InputAction.CallbackContext context)

    {

        switch (context.phase)

        {

            case InputActionPhase.Performed:

                if (context.interaction is PressInteraction)

                {

                    string 判断点名称 = "判定点1";

                    if (节奏点字典[判断点名称].Count > 0)

                    {

                        float 节奏点偏差 = (float)节奏点字典[判断点名称][0].time - (float)音乐控制.time;

                        if (节奏点偏差 > 空按判定时间)//判断按下点是否在空按时间之外

                        {

                            print("空按");

                        }

                        else if (节奏点偏差 > miss判断时间)

                        {

                            print("miss");

                            节奏点字典[判断点名称].RemoveAt(0);

                        }

                        else if (节奏点偏差 > sad判断时间)

                        {

                            print("sad");

                            节奏点字典[判断点名称].RemoveAt(0);

                        }

                        else if (节奏点偏差 > good判断时间)

                        {

                            print("good");

                            节奏点字典[判断点名称].RemoveAt(0);

                        }

                        else if (节奏点偏差 > perfect判断时间)

                        {

                            print("perfect");

                            节奏点字典[判断点名称].RemoveAt(0);

                        }

                        else if (节奏点偏差 > -perfect判断时间)

                        {

                            print("perfect");

                            if (运行中的判断1协程 != null)

                            {

                                StopCoroutine(运行中的判断1协程);

                                运行中的判断1协程 = null;

                            }


                            节奏点字典[判断点名称].RemoveAt(0);

                        }

                        else if (节奏点偏差 > -good判断时间)

                        {

                            print("good判断时间");

                            if (运行中的判断1协程 != null)

                            {

                                StopCoroutine(运行中的判断1协程);

                                运行中的判断1协程 = null;

                            }

                            节奏点字典[判断点名称].RemoveAt(0);

                        }

                        else if (节奏点偏差 > -sad判断时间)

                        {

                            print("sad判断时间");

                            if (运行中的判断1协程 != null)

                            {

                                StopCoroutine(运行中的判断1协程);

                                运行中的判断1协程 = null;

                            }

                            节奏点字典[判断点名称].RemoveAt(0);

                        }

                        else if (节奏点偏差 > -miss判断时间)

                        {

                            print("miss判断时间");

                            if (运行中的判断1协程 != null)

                            {

                                StopCoroutine(运行中的判断1协程);

                                运行中的判断1协程 = null;

                            }

                            节奏点字典[判断点名称].RemoveAt(0);

                        }

                    }

                }

                break;

        }

    }


投诉或建议

玻璃钢生产厂家玻璃钢雕塑欧洲建筑珠海定制玻璃钢雕塑宿州个性化玻璃钢雕塑销售电话成都生产玻璃钢面包雕塑泰州设计玻璃钢雕塑报价上海玻璃钢雕塑招聘玻璃钢花盆雕塑厂家订制上海玻璃钢雕塑企业陕西玻璃钢仿铜雕塑定制山西大型玻璃钢雕塑市场镇江美陈商场布置文山玻璃钢雕塑厂家桂林玻璃钢长颈鹿雕塑宜春欧式玻璃钢雕塑价位定制玻璃钢古铜雕塑广场玻璃钢雕塑价钱如何珠海透明玻璃钢雕塑现货山东商场美陈生产企业武汉景观标识玻璃钢人物雕塑益阳玻璃钢雕塑生产长沙环保玻璃钢雕塑玻璃钢人物剪影雕塑江西高质量玻璃钢雕塑图片上海佛像玻璃钢雕塑生产厂家长沙广场玻璃钢雕塑公司四川季节性商场美陈制造贵阳景观玻璃钢雕塑报喜鸟商场美陈特卖革命主题玻璃钢卡通雕塑包括哪些济宁佛像玻璃钢雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化