常用图片分辨率
1.32*32,64*64 (小图)
2.128*128,512*512(中图)
3.1024*1024,32*64,64*128(大图)
4.128*512,512*1024等(其他尺寸)
分辨率对应DPI
ldpi QVGA (240×320)
mdpi HVGA (320×480)
hdpi WVGA (480×800),FWVGA (480×854)
xhdpi 720P(1280*720)
xxhdpi 1080p(1920*1080 )
xxxhdpi 4K(3840×2160)
libGdx的类
一.Textture 简单理解就是图片容器Texture texture; SpriteBatch batch; @Override public void create () { batch = new SpriteBatch(); texture=new Texture("dva.png");//放在assets里的图片名字 } @Override public void render () { Gdx.gl.glClearColor(1,1,1,1);//设置背景为白色 Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);//清屏 batch.begin(); batch.draw(texture, 0, 0,2560,1440); batch.end(); }
三.TextRegion 根据指定宽高截取图片一部分
例子:
region= new TextureRegion(texture,250,0,512,512);//分别代表值(原始图片,起点x,起点y,宽,高)
上图阴影为截取部分
四.Sprite类 这个比较特殊 ,可以看作是前三个整合
1.定义:带颜色,形状和图片属性的2d精灵(非官方,只是方便理解)
2.作用:TextureRegion增强版,多了诸如可以指定位置,颜色,旋转等
3.特点:可以对Texture ,TextureRegion处理
4.常见方法:
(1)大小 sprite.setSize(600,600);
(2)旋转中心 sprite.setOrigin(20,20);
(3)旋转角度 sprite.setRotation(50);
(4)绘制位置 sprite.setPosition(500,100);
(5)绘制颜色 sprite.setColor(1,0,1,1);//这里四个值(R,G,B,透明度)
(6)为其加载region这幅图 sprite.setRegion(region);
例子:
Texture texture; SpriteBatch batch; TextureRegion region; Sprite sprite; @Override public void create () { batch = new SpriteBatch(); texture=new Texture("dva.png"); region= new TextureRegion(texture,250,0,512,512); sprite=new Sprite(); sprite.setRegion(region); sprite.setSize(600,600); sprite.setOrigin(20,20); sprite.setRotation(50); sprite.setPosition(500,100); //sprite.setColor(1,0,1,1); } @Override public void render () { Gdx.gl.glClearColor(1,1,1,1);//设置背景为白色 Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);//清屏 batch.begin(); // batch.draw(region, 0, 0); //batch.draw(textureRegion, 0, 0,2560,1440); sprite.draw(batch); batch.end(); }
