美文网首页
队列处理技能的播放

队列处理技能的播放

作者: cui_512e | 来源:发表于2017-10-26 19:38 被阅读0次

   学完栈和队列虽然实现过自定义的队列和栈,可是还是容易忘记,我总觉得多使用才能有深刻的记忆。

     今天做的这道题目。

题目

三连击? 于是我开始尝试做...

设想1:是这样的 定义一个状态的枚举(释放技能的时候判断当前的状态 和是否正在播放技能动画)

用户点击攻击后 ->  开启协成(攻击)->根据技能的名字播放对饮的动画 -> 等待动画播放完成。

public enum AttackState// 攻击的状态

{ normal, attack1,attack2,attack3}

然后在update中判断用户的点击然后根据当前的状态来改变运行对应的协程(因为要等待技能播放的时间完成才能播放下一个)

状态的控制切换 动画播放的协同程序

可是做完后发现每次攻击要等待动画播放完成才能进行下一次攻击,用户体验很不好啊,我如果想要用户连续点击三下(然后一个一个自动播放技能呢),这个时候我想到了队列,队列先进先出嘛。

设想2:还是定义当前状态的枚举,

用户点击攻击后 ->  队列里添加下一个状态的枚举(比如当前状态是闲置状态下一个状态就是攻击1) ->根据队列里是否有要播放的技能来播放技能 ->技能的名字播放对饮的动画 -> 等待动画播放完成。

将下一个状态入队列 在队列里依次处理播放对应动画的协成 播放技能动画的协同程序

这里注意当要播放的动画名字是第三个动画的时候,就让他的状态转换成正常状态、技能进入Cd状态(用户不能点击三次后,要等待cd时间冷却好才能再次使用技能)

Inspector面板上填好对应的参数(对应技能的动画名字、动画的长度也就是时间)

这里因为动画的速度比较慢我想让他变的快一点(默认是1),这样效果比较好一点。速度修改了对应的动画长度也要除以这个速度。

然后做点UI可以看出效果。

相关文章

  • 队列处理技能的播放

    学完栈和队列虽然实现过自定义的队列和栈,可是还是容易忘记,我总觉得多使用才能有深刻的记忆。 今天做的这道题目...

  • 播放器队列使用的优化

    播放音乐队列配合两个线程 一、 播放线程 : 不断循环取出播放队列取出下个歌曲就播放的 二、 监控线程 : 监控...

  • 基于Go的Rabbitmq实践

    学会使用消息队列是后端程序员进阶的必备技能之一,消息队列可以异步处理请求,缓解系统的压力,从而达到解耦、削峰等目的...

  • 音频播放工具设计

    技术标签:vue rxjs ts支持功能:web音频播放\队列播放\插队播放\倍速播放\播放状态汇报等功能 直接上代码:

  • 信号量

    问题 点击操作向一个队列里面添加播放音乐方法,如何实现一段音乐播放完成后,立马播放队列里下段音乐 定义 1、信号量...

  • iOS多线程整理 (精)

    知识点梳理 1.线程进程的区别: 2.队列种类: 串行队列、并发队列、主队列(有经过特殊处理的串行队列)、全局队列...

  • tips

    // 1. 对于事件循环的每个阶段(定时器队列,I/O 事件队列,immediates 队列,close 处理队列...

  • iOS处理高并发量的HTTP请求和数据集合的对应关系

    一、处理高并发请求的核心代码如下: 分析: 首先创建并行队列,创建队列组,将队列和需要处理的网络请求分别添加到组中...

  • 多线程requests爬取糗事百科

    1.明确目标 可以借助类,定义不同方法处理不同的步骤 应该借助队列,将请求的url放入队列处理 可以借助多个队列将...

  • 队列 + 任务

    队列 Serial Dispatch Queue(串行队列):等待正在执行中的处理结束,再执行下一条处理。 Con...

网友评论

      本文标题:队列处理技能的播放

      本文链接:https://www.haomeiwen.com/subject/ucjkpxtx.html