2、Sprite,SpriteBatch,Texture,TextureRegion的初步认识

昨天搭建了环境,今天就初步接触这个4个控件(Sprite,SpriteBatch,Texture,TextureRegion)

1、SpriteBatch

  这个吗,我没有看api文档,偶是直接看土豆的博客学习的,我看了代码,每次绘制的时候都会有一个.begin();.draw();.end();

  .begin();->按照偶的理解吧,这就像一个画笔,每一次绘画的时候都需要告诉这个画笔,画笔可以开始绘画了,也就是我们的.begin();方法。

  .draw();->这个很好理解,就是绘画,就是将我们需要的图片之类的绘画出来。

  .end();->每次绘画结束都需要通知画笔,停止绘画啦。

  还有一个需要说明就是,SpriteBatch的坐标是从左下角开始,向↑→延伸

 

2、Texture

  简单的理解,这是一个纹理,按照我的理解,说白了就是一个图片(ImageView)

  使用的时候,要把我们图片资源加载到这个纹理里面

  new Texture("文件路径+名称");

  new Texture(Gdx.files.internal("文件路径+名字"));

  例如,我在android里面放了一个张图片test.jpg,图片就位于assets文件夹根目录里面,那么实例化Texture对象就是 

  new Texture("test.jpg");

  new Texture(Gdx.files.internal("test.jpg"));

  同理,desktop项目也是放在assets文件里面

 

3、TextureRegion

  这个嘛,可以理解为截图,这个截图坐标是从左上角开始,向↓→延伸

  这个截图可以正反向截图

  

  

 

  4、Sprite

    这个我管他叫精灵

    这个精灵可以设置他的旋转,旋转点,绘画的起点位置等等

  

  5、关于这个几个控件的使用

    //实例化

    Texture TT_logo = new Texture(Gdx.files.internal("logo.png"));

    TextureRegion TR_logo = new(TT_log,0,0,50,50);//第一个参数是纹理,第二三个就是截图的起点,三四个就是截图的大小

    Sprite S_logo = new Sprite(TR_logo);

    S_logo.setSize(100,100);//设置精灵的大小

    S_logo.setOrigin(S_logo.getWidth()/2,S_logo.getHeight()/2);//设置旋转的中心点

    S_logo.setRotaton(180);//设置旋转的角度

    S_logo.setColor(1,1,1,1);//设置颜色

    S_logo.setPosition((Gdx.graphics.getWidth() - S_logo.getWidth())/2,(Gdx.graphics.getHeight() - S_logo.getHeight())/2);//设置精灵绘制的中心点

    SpriteBatch SB_pen = new SpriteBatch();   

    //绘制---需要注意,每次绘制的时候需要把屏幕给清空,    

    Gdx.gl.glClearColor(1, 0, 0, 1);

    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    SB_pen.begin();//启动绘画

    SB_pen.draw(TT_logo,0,0,50,50);//绘制logo,起点是(0,0),大小是50*50

    SB_pen.draw(TR_logo,100,100,50,50);//绘制截图logo,起点是(0,0),大小是50*50

    S_logo.draw(SB_pen);//绘制精灵

    SB_pen.end();//结束绘画

 

 

  昨天到今天就学习了这些,记录下来,加深一下印象,好好加油吧

  2015年3月12日14:29:45

posted @ 2015-03-12 14:30  鉄弟  阅读(569)  评论(0编辑  收藏  举报