好像复杂点的LuaSTG教程3.2:'环'的渲染
好久没发过专栏了(?)
昨天说了今天做极坐标背景,那么肯定是要做的
那么什么叫'环'(我自己命名的)呢?
举一个简单的例子,反色圈.

这是属于最简单的一种环了
然后还有开符特效:

也用到了环,永夜抄符卡收取附到自己上和咏唱解除时放出的魔法阵也是所谓的'环'
那种从一个点飞出来的背景也属于环,我这里自己做了一个:

制作的话就要用到RendeTexture了:

那么就现场写一个吧!(
RenderTexture在我前几个教程里有写到
先思考
背景是从一个点飞出来,所以要对背景进行裁剪(即渲染一部分)(?),所以要弄两个变量(我这里叫bj1,bj2)
bj1为圆环的'内径',应当是 当bj2展开完成(?)后,bj1才开始动
这里可以用max来限制
比如bj1=max(self.timer-60,0) ,这样当self.timer(一个计时器)-60<0的时候bj1就不会变,大于0的时候bj1就为self.timer-60
如果bj1这么写,那么bj2就应该为self.timer
这样的......意义?就应该是 '这个圆以1(因为self.timer每帧加1)的速度扩散,60帧内展开完毕'
这个背景实际上是把一张图片割成多部分然后渲染在数个拼接在一起的梯形上
然后再想想:把图片割成几份?(我上面那图割成了520份)实际上144份(哈?)就差不多了

a是什么?因为要渲染成一个个拼接起来成为一个圆的梯形,所以当然要角度(哈?)
u是什么?因为我这里打算取的四个点是右上,右下,左下,右上,所以u就是纹理的x坐标(就是把纹理分割成了way份)(我这张纹理的大小是622,622)
然后就是取v(纹理的y坐标)了,如果按照我这种方法的话,这个v应当是从纹理的最右端到最左端,即从622(纹理的宽)到0,所以v=max(622-622*self.timer/60,0),即在60帧内,v从622变化到0
然后填参数....

...画个图示意一下好了:

这是整个圆的一部分(即一个梯形),可能画的不是很好,请见谅(-_-||
创建出这个object,然后放在无限的60帧循环里的效果图

选的图不是很好看,见谅见谅(((