六、设置弹窗显示队列
实现原理: 把弹窗放置在一个队列中,通过设置UI方法,直接调用这个队列中的文本
Queue是一个先进先出的队列。
一、队列的使用
写一个增加提示的方法
在这里使用锁来执行这个语句,向这个队列里面增加一个提示文本
在这里进行文本的添加
在update中进行调用
先判断一下。如果这个队列里面的数量大于0 并且 另一个条件为fase(下文提到)
那么就使用锁来执行队列里面的内容
先把队列里面的内容,使用Dequeue取出来
取出来的值赋值给Tips
并且把这个条件设置为真
执行方法。
二、问题
这时会出现一个问题
添加的两个文本,由于没有等待上一个文本的动画执行完毕,下一条就进来了
而又是在update里面调用,所以只会显示最后一个文本。
三、解决方法
添加一个Bool值进行判断
并且初始为false
在if循环中添加并联条件
如果为假 那么就执行取出队列的情况
取出之后设置为真
即可进入下一次if循环判断
四、UI显示初始化
原因:在游戏场景中可能有多个UI面板。再进行调试时会出现开启关闭
那么每一次都需要进行恢复最初的设置
在这里实现,每一次都把他初始化为想要的状态
在GameRoot方法中添加一个方法
先查找Canvas,然后赋值
在for循环中,让它小于这个这个子物体的数量
然后得到这个子物体的位置,把他失活
显示想要的UI面板