五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

好像復雜點的LuaSTG教程3:render圖像的函數(shù)

2020-04-17 11:31 作者:SSWTLZZ  | 我要投稿

我就是想起來講什么就講什么了()

而且render其實也不是特別難(?),就先講了吧(然而這個廢物還沒太懂就開始講了真的沒關(guān)系嗎?)

好了,首先是加載圖片等資源,我就不用Animation了(因為我也沒試過RenderAnimations()

這里我用上一期用過的斬擊

我們定義一個object,把圖像選成這個圖片(我這里是image:zhanji),然后創(chuàng)建這個object

啟動,然后是這個樣子

然后是load image group,用法和load image類似,不過多了和cols and rows,即有幾行幾列,默認是一行四列


我們給這個object加個render回調(diào)函數(shù),再將里面的do default action刪掉,在啟動游戲,會怎樣呢?

還記得回調(diào)函數(shù)在哪嗎?對了,就是在unit里的unit event trigger

然后運行后你會發(fā)現(xiàn)這個obj好像消失了!

其實就是沒有運行渲染默認的函數(shù)啦

那么這里就來講一下Render這個函數(shù)

Render(imagename,x,y[,rot=0[,hscale=1[,vscale=hscale[,z=0.5]]]])

繪制一個圖像。

SetImageState(imagename,blendmode)

SetImageState(imagename,blendmode,color0)

SetImageState(imagename,blendmode,color0,color1,color2,color3)

設(shè)置圖像的混合模式和頂點顏色。圖像左上角的頂點編號為0,順時針旋轉(zhuǎn)編號增加。若省略color0,則維持原頂點顏色;若省略color1、color2、color3,則將所有頂點的顏色都設(shè)置為color0。



來自lstg自帶的說明文檔

帶[]的是可選參數(shù)

仔細觀察,x,y,rot這些....不就是self.x,self.y,self.rot這些嗎?

那么就讓我們來簡單的實現(xiàn)一下

當然這并沒有什么實際意義(?)self.img是你選擇給這個object的圖片,在我這里就等同于"image:zhanji",然后最后一項z在ui和world坐標系里沒有用,可填可不填

self._blend,self._a,self._r,self._g,self._b分別代表這個object所使用的圖像(self.img)在這個obj里要設(shè)置成的混合模式,不透明度,RGB

然后是剩下的這一堆函數(shù)()


RenderRect(imagename,x1,x2,y1,y2)

將圖像繪制到一個矩形上。

?

Render4V(imagename,x0,y0,z0,x1,y1,z1,x2,y2,z2,x3,y3,z3)

將圖像繪制到一個3維的四邊形上。圖像左上角的頂點編號為0,順時針旋轉(zhuǎn)編號增加。如果不是在3D模式下,那么所有的z坐標要取0.5。

?

RenderTexture(texturename,blendmode,vertex0,vertex1,vertex2,vertex3)

將紋理的一個四邊形區(qū)域繪制到一個3維四邊形上。vertext是一個數(shù)組,格式為{x,y,z,u,v,color},其中u、v是紋理坐標(左上角是(0,0))。如果不是在3D模式下,那么所有的z坐標要取0.5。

RenderRect我沒用過,但是我可以畫個示意圖:

類似于這樣

然后是render4V,這個在3D背景會經(jīng)常用到

上面的圖片的3和4的位置要對調(diào)()

這四個點的位置是隨意的,所以你畫正方形,長方形,平行四邊形,梯形,三角形*(^%&^*%^(**.....
都可以,之前我不會用RenderTexture的時候我就拿這個做純狐那種一個點飛出來的背景(這種下期再講)

然后就是這個RenderTexture,曾經(jīng)卡了我好久才理解的()

RenderTexture(texturename,blendmode,vertex0,vertex1,vertex2,vertex3)

將紋理的一個四邊形區(qū)域繪制到一個3維四邊形上。vertext是一個數(shù)組,格式為{x,y,z,u,v,color},其中u、v是紋理坐標(左上角是(0,0))。如果不是在3D模式下,那么所有的z坐標要取0.5。

這四個table和上面的render4V的有點類似

這個uv坐標是什么意思呢?
這個uv坐標能夠讓你只渲染這個圖像的一部分,

這樣就只會渲染這張圖片的框起來的部分(?),你這么說誰懂啊

好吧,那么來舉個例子:

這么一大坨

這張圖片的大小為250*16

這個min(self.timer*250/60,250)的意思:self.timer每幀自增1,當self.timer<60的時候,取self.timer*250/60,當self.timer>=60的時候取250,就是為了限制

我這里真的講不來,把這個玩意放上來希望自己能理解()


好像復雜點的LuaSTG教程3:render圖像的函數(shù)的評論 (共 條)

分享到微博請遵守國家法律
神池县| 北辰区| 旌德县| 光泽县| 南岸区| 都兰县| 虞城县| 建昌县| 琼海市| 金沙县| 镇雄县| 淄博市| 甘德县| 宜都市| 大同县| 冷水江市| 湖口县| 高青县| 北碚区| 南涧| 璧山县| 陆川县| 定西市| 洪雅县| 仁寿县| 江安县| 云南省| 略阳县| 大姚县| 蒙城县| 华蓥市| 乐陵市| 丹凤县| 寻乌县| 沽源县| 大余县| 盐山县| 怀集县| 永清县| 湖北省| 溧阳市|