博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2、Sprite,SpriteBatch,Texture,TextureRegion的初步认识
阅读量:6720 次
发布时间:2019-06-25

本文共 1815 字,大约阅读时间需要 6 分钟。

昨天搭建了环境,今天就初步接触这个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

转载于:https://www.cnblogs.com/gorden178/p/4332337.html

你可能感兴趣的文章
免费邮箱服务器(收藏)
查看>>
org.aspectj.lang.JoinPoint-中文简要API
查看>>
数据库内存使用
查看>>
shell-9-函数(tc与限速实例)
查看>>
[战略]Fans未来战略--第4篇--2012年的IT技术学习规划
查看>>
Linux入门之一:LInux系统环境及命令使用
查看>>
android 获得已安装应用
查看>>
REAPER Audio May Be Coming To Linux(专业的音频工作站)
查看>>
jquery 定位
查看>>
幻日奇观 黑龙江现“三个太阳”
查看>>
“可视化”人工神经网络揭示细胞内部活动
查看>>
perl高水线算法
查看>>
ES权威指南[官方文档学习笔记]-5---talking to elasticsearch
查看>>
性能测试中“并发度”的意义
查看>>
产品经理基本素养
查看>>
PyCharm3.0默认快捷键(翻译的)
查看>>
python3环境安装方法
查看>>
基于php常用函数总结(数组,字符串,时间,文件操作)
查看>>
我的友情链接
查看>>
正则表达式
查看>>