Golang基础篇-goroutine

goroutine

goroutine是Golang实现并发的一种手段,在一个Golang程序中,每一个goroutine相当于一个独立的执行单元,这类似于线程,但是并不是线程,而是Golang在语言层面上对线程的一种抽象。

Golang程序执行的时候默认会创建一个goroutine,可以叫他main goroutine。其他的goroutine需要我们通过go func()的形式创建。

这有点类似于一个工厂,工厂里面至少要有一个人员吧,我们称之为老板(main goroutine),当工厂只有老板一个人时,工厂还是可以正常运转的,所有的事情都需要老板亲历亲为呗。当我们在程序中又创建了一个goroutine时,就相当于招聘了一个员工,这样就可以把一些工作分给员工去做。

Golang基础篇-接口

很多编程语言都提供了接口,Golang接口最大的特点是它可以不必显式定义,只要一个类型实现了某个接口定义的所有方法,那它就实现了这个接口。

使用shader实现fillamount效果

使用UGUI的Image可以轻松实现进度条的效果。但是有些情况下我们需要制作针对游戏世界中的物体的进度条,例如人物头顶的HP条,机器旁边的CD条等。常规的做法通过将世界坐标映射到UI,然后使用Image制作这些元素。当游戏世界中的物体 位置改变的时候,需要通知UI去改变相应元素的位置,如果需要考虑摄像机对于进度条的影响,例如摄像机拉远时进度条变小,则会更加麻烦。

这里提供一种使用shader实现进度条的方案。测试环境:Unity 2020.3.32。