原理pe吧 关注:234贴子:1,451

【principia教程】如何生成一个像素画,也就是spri

只看楼主收藏回复

【principia教程】如何生成一个像素画,也就是sprite


IP属地:贵州来自Android客户端1楼2022-03-12 23:08回复
    二楼备用,虽然不知道会有什么用


    IP属地:贵州来自Android客户端2楼2022-03-12 23:11
    回复
      首先创建一个场景,然后搜索lua,点积lua script把这个元件加入到场景中



      IP属地:贵州来自Android客户端3楼2022-03-12 23:12
      回复
        选中lua script后点击屏幕下面的设置图标,然后输入this:draw_sprite(1,1,0,2,2,0,0,7,7)


        IP属地:贵州来自Android客户端4楼2022-03-12 23:18
        回复
          我先介绍一下draw_sprite()这个函数,在使用它前,要在函数名字前加一个this:,算是引用“this”的方法吧,这个不重要。
          在这个游戏里面画一个像素画和在现实里面画画很像,现实里面我们画画需要画在纸上,那么draw_sprite()函数就是创建一张画布。


          IP属地:贵州来自Android客户端5楼2022-03-12 23:22
          回复
            draw_sprite()函数需要传入九个参数,这九个参数分别是(x,y,θ,weight,hight,x1,y1,x2,y2)。x和y是整张画布的位置,θ是画布要旋转多少度,θ如果是0就是摆正的,weight和hight是画布的宽和高,x1和y1是画布左下角算是起点,x2和y2是画布右上角,算是终点,从起点到终点,函数会将画布分成若干份。


            IP属地:贵州来自Android客户端6楼2022-03-12 23:27
            回复
              5楼可能看得不太懂,拿4楼的图中第二行来说,第二行即在(1,1)的这个位置,创建了一张长和宽都为2,横向被等分为7份,纵向也被等分为7份,然后是摆正的一张画布


              IP属地:贵州来自Android客户端7楼2022-03-12 23:30
              收起回复
                就像是这样


                IP属地:贵州来自Android客户端8楼2022-03-12 23:32
                回复
                  画布创建好了,现在需要给画布上一点颜色,创建画布用了一个函数,给画布上色要用另一个函数this:set_sprite_texel(x,y,R,B,G,alpha)


                  IP属地:贵州来自Android客户端9楼2022-03-12 23:38
                  回复
                    画布被分为了7×7=49份,先说一下,画布上每一份都有自己的坐标,拿8楼的图来说,A点在画布上的坐标是(0,6),B点在画布上的坐标是(6,0),C点的坐标是(0,5)。
                    猜一下,最左下角的那格坐标是多少?


                    IP属地:贵州来自Android客户端10楼2022-03-12 23:43
                    回复
                      画布创建好了,现在需要给画布上一点颜色,创建画布用了一个函数,给画布上色要用另一个函数this:set_sprite_texel(x,y,R,B,G,alpha)


                      IP属地:贵州来自Android客户端11楼2022-03-12 23:43
                      收起回复
                        函数set_sprite_texel(),需要传入六个参数,x和y是在画布上的坐标,RGB,三个用来确定在(x,y)处这一格的颜色,alpha能决定(x,y)这一格的不透明度


                        IP属地:贵州来自Android客户端12楼2022-03-12 23:46
                        回复
                          如果到这一楼之前,你都学会了,那么在lua script里面输入这样的代码试试看能有什么东西出现


                          IP属地:贵州来自Android客户端13楼2022-03-12 23:51
                          回复
                            它出现了这样的一张画,看起来像右上角的红色浸染了其他区域


                            IP属地:贵州来自Android客户端14楼2022-03-12 23:56
                            回复
                              产生这样的画并不是代码出了问题,而是它的渲染模式默认为第一种。和创建画布,给画布上色一样,各自有一个函数,切换渲染模式也有一个函数,在lua script里面添加这个函数,然后运行游戏看看还一不一样this:set_sprite_filtering(0)



                              IP属地:贵州来自Android客户端15楼2022-03-13 00:00
                              收起回复