最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ù)的評論 (共 條)

分享到微博請遵守國家法律
观塘区| 河南省| 济南市| 巨野县| 柏乡县| 酉阳| 兰西县| 芦溪县| 施秉县| 尼勒克县| 壤塘县| 桂阳县| 永善县| 资兴市| 清新县| 石门县| 昭平县| 恩平市| 济源市| 武鸣县| 青神县| 舞阳县| 上杭县| 三明市| 托克托县| 泸州市| 灌南县| 杨浦区| 迁西县| 台前县| 辉南县| 巴中市| 南皮县| 常宁市| 昭通市| 马公市| 江阴市| 浦北县| 五河县| 台东市| 贵溪市|