记SeedGamejam中遇到的程序问题2022.8.10

本文介绍了在SeedGamejam参赛作品《赛博古韵》中遇到的程序问题,包括使用koreographer插件在游戏中动态切换乐曲的实现方式,以及如何通过创建判定值系统来实现节奏卡点的精准判断。在动态切换音乐时,通过配置多个空物体和组件,利用事件注册和AudioSource的控制完成切换。对于节奏卡点,通过不断增长的判定值和特定的判定逻辑,确保了玩家点击的准确性和连续性。
摘要由CSDN通过智能技术生成

参赛作品《赛博古韵》

核心玩法:节奏冲刺

核心程序及插件:koreographer插件使用,节奏卡点的判断

问题合集:

1.koreographer插件如何在游戏运行中动态切换乐曲:

       比如,有两首歌要切换,那么需要新建两个空物体,每个空物体上各自单独配置SimpleMusicPlayer和Audiosource以及Koreographer组件,之后把关联了不同音乐的两个koreogrpher各自放置在这两个空物体的SimpleMusicPlayer组件上,并且不勾选PlayOnAwake。

       随后在koreographer中,编辑用于判别歌曲切换的事件,并在程序的Start()方法中同时注册所有会用到的事件(Koreographer.Instance.RegisterForEvents(eventID,需要执行的方法名),具体的注册方法请查看其他的Koreographer插件教程),由于音乐不播放事件便不会触发,所以不用担心会有事件轨道(EventTrack)冲突。当该事件触发时,对原本播放音乐的空物体的AudioSource组件执行Stop()方法,同时对另一个空物体(切换的对象)的AudioSource组件执行Play()方法。

       至此一次动态的音乐及对应事件轨道的切换完成。

2.如何实现节奏卡点:

    基本思路:使用一个会自动增长的判定值(例如从0-1增长),其增长的用时正好是两个节拍间的间隔。根据鼠标点击时(即发出判定的信号时)判定值的大小来判断本次点击是否卡点,以及卡点卡到了什么程度.

    程序难点:一个判定值实际上两端各自有一个判定点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值