好像復(fù)雜點的LuaSTG教程3.2:'環(huán)'的渲染
好久沒發(fā)過專欄了(?)
昨天說了今天做極坐標(biāo)背景,那么肯定是要做的
那么什么叫'環(huán)'(我自己命名的)呢?
舉一個簡單的例子,反色圈.

這是屬于最簡單的一種環(huán)了
然后還有開符特效:

也用到了環(huán),永夜抄符卡收取附到自己上和詠唱解除時放出的魔法陣也是所謂的'環(huán)'
那種從一個點飛出來的背景也屬于環(huán),我這里自己做了一個:

制作的話就要用到RendeTexture了:

那么就現(xiàn)場寫一個吧!(
RenderTexture在我前幾個教程里有寫到
先思考
背景是從一個點飛出來,所以要對背景進(jìn)行裁剪(即渲染一部分)(?),所以要弄兩個變量(我這里叫bj1,bj2)
bj1為圓環(huán)的'內(nèi)徑',應(yīng)當(dāng)是 當(dāng)bj2展開完成(?)后,bj1才開始動
這里可以用max來限制
比如bj1=max(self.timer-60,0) ,這樣當(dāng)self.timer(一個計時器)-60<0的時候bj1就不會變,大于0的時候bj1就為self.timer-60
如果bj1這么寫,那么bj2就應(yīng)該為self.timer
這樣的......意義?就應(yīng)該是 '這個圓以1(因為self.timer每幀加1)的速度擴(kuò)散,60幀內(nèi)展開完畢'
這個背景實際上是把一張圖片割成多部分然后渲染在數(shù)個拼接在一起的梯形上
然后再想想:把圖片割成幾份?(我上面那圖割成了520份)實際上144份(哈?)就差不多了

a是什么?因為要渲染成一個個拼接起來成為一個圓的梯形,所以當(dāng)然要角度(哈?)
u是什么?因為我這里打算取的四個點是右上,右下,左下,右上,所以u就是紋理的x坐標(biāo)(就是把紋理分割成了way份)(我這張紋理的大小是622,622)
然后就是取v(紋理的y坐標(biāo))了,如果按照我這種方法的話,這個v應(yīng)當(dāng)是從紋理的最右端到最左端,即從622(紋理的寬)到0,所以v=max(622-622*self.timer/60,0),即在60幀內(nèi),v從622變化到0
然后填參數(shù)....

...畫個圖示意一下好了:

這是整個圓的一部分(即一個梯形),可能畫的不是很好,請見諒(-_-||
創(chuàng)建出這個object,然后放在無限的60幀循環(huán)里的效果圖

選的圖不是很好看,見諒見諒(((