libgdx(-)坐标系

  libgdx里的坐标系有点乱,让我头疼了一天。

  最后总结了一下实际上就是有一点问题。

  就是:

          SpriteBatch在画图形的时候,(0,0)点在左下角。

          其他的(Pixmap,Texture,touch event)的(0,0)点都在左上角。

          (0,0)点不就是原点吗,的确是,不过libgdx里边还有一个Origin(原点),它是用于图像旋转,缩放等变换的,与我们这里的不一样。

这里用一个例子演示一下:

        pixmap = new Pixmap(16, 16, Pixmap.Format.RGB888);//新创建一个Pixmap
        pixmap.setColor(Color.RED);                               
        pixmap.fill();                                                       //设置背景色为红色
        pixmap.setColor(Color.BLUE);                              
        pixmap.fillRectangle(0, 0, 8, 8);                           //靠近原点画了一个蓝色的小正方形

        texture = new Texture(pixmap);
        texture = new Texture(32, 32, Pixmap.Format.RGB888);    //创建了一个texture,格式设为不透明的便于观察
        texture.draw(pixmap, 0, 0);                                             //把上边的Pixmap画到它的原点附近

这是运行显示的效果,texture的格式如果选RGBA8888会透明的,现在是黑色

  这里没提到触摸事件坐标,原点也在右上角

后记:

      我也是刚学,如有误导求指出,欢迎拍砖,意见和鼓励

原文地址:https://www.cnblogs.com/Jinux/p/3155708.html