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
轉載于:https://www.cnblogs.com/gorden178/p/4332337.html
總結
以上是生活随笔為你收集整理的2、Sprite,SpriteBatch,Texture,TextureRegion的初步认识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 几种C#程序读取MAC地址的方法
- 下一篇: java的自动类型转换和强制类型转换