上一节我们用到了SpriteBatch类 但是我们并没有使用它 现在用它的draw()方法来绘制图片的位置.
要绘制图片 首先要有图片 ,我们找到图片存储在assets文件夹中,assets文件夹是开发android工程中专门存储图片的文件夹
首先要声明一个Texture 私有变量texture;在HelloGame类中的create()方法里实例化一个Texture;
texture=new Texture(Gdx.files.internal("meinv.jpg"));
这里要注意的有俩点:1图片的像素必须是2的次方,在导入前必须要对该图片进行处理成2的次方的 像素.2(Gdx.files.internal("meinv.jpg"))中 后缀名一定要和原图片保持严格一致(包括大小写)这也是我犯过的一个错误.
其次在HelloGame类中的render()方法中绘制图片的位置了,batch.draw(texture,20,10);
package com.FLM.helloworld;
import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL10;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
public class FirstGame implements ApplicationListener {
private SpriteBatch batch;
private Texture texture;
@Override
public void create() {
// TODO Auto-generated method stub
batch=new SpriteBatch();
texture=new Texture(Gdx.files.internal("FengliMin.PNG"));
}
@Override
public void dispose() {
// TODO Auto-generated method stub
}
@Override
public void pause() {
// TODO Auto-generated method stub
}
@Override
public void render() {
// TODO Auto-generated method stub
//Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); //清屏
batch.begin();
batch.draw(texture,20,10);
batch.end();
}
@Override
public void resize(int arg0, int arg1) {
// TODO Auto-generated method stub
}
@Override
public void resume() {
// TODO Auto-generated method stub
}
}
然而事实上 为了某种需要 我们总是要部分显示某些图片 那么Texture类就不能很好的满足需要了 这时就要用到TextureRegion类
这时主要的代码就要修改
在create()函数中 batch=new SpriteBatch()'
texture=new Texture(Gdx.files.internal("meinv.jpg"));
region=new TextureRegion(texture,30,80,200,200);
在render()函数中 batch.begin()'
batch.draw(region,0,0);
batch.end();
如果这些功能还不能满足需要 那么还可以用Sprite类,该类不仅能绘制图片的位置还能指定旋转角度和图片颜色 一般用于2D场景渲染.
同样 相应的代码就要修改为
在create()函数中 batch=new SpriteBatch();
texture=new Texture(Gdx.files.internal("meinv.jpg"));
sprite=new Sprite(texture,30,80,200,300);
sprite.setPosition(10,10);
sprite.setRotation(45);
sprite.setColor(5,3,2,3);
在render()中做如下修改:
batch.begin();
sprite.draw(batch);
batch.end();
分享到:
相关推荐
libgdx---MySuperJumper
Over 75 practical recipes to help you master cross-platform 2D game development using the powerful Libgdx framework
libgdx-nightly-20140711.zip libgdx 1.2.0
Libgdx开发丛书之 Libgdx cross-platform game development cookbook
libgdx-nightly-20110809.zip
libgdx-演示-metagun Libgdx 演示 --metagun
Libgdx是一款基于OpenGL ES技术开发的Android游戏引擎,支持Android平台下的2D和3D游戏开发,2D物理引擎采用Box2D实现。单就性能角度来说,堪称是一款非常强大的Android游戏引擎,但缺陷在于精灵类等相关组件在使用...
Libgdx是一款基于OpenGL ES技术开发的Android游戏引擎,支持Android平台下的2D和3D游戏开发,2D物理引擎采用Box2D实现。单就性能角度来说,堪称是一款非常强大的Android游戏引擎,但缺陷在于精灵类等相关组件在使用...
Libgdx是一款基于OpenGL ES技术开发的Android游戏引擎,支持Android平台下的2D和3D游戏开发,2D物理引擎采用Box2D实现。单就性能角度来说,堪称是一款非常强大的Android游戏引擎,但缺陷在于精灵类等相关组件在使用...
android游戏开发框架libgdx的使用(二)--图形绘制[汇编].pdf
android游戏开发框架libgdx的使用(二)--图形绘制借鉴.pdf
libgdx-cookbook-cookbook的书中示例代码
libgdx-0.9.2.zip libgdx-0.9.2.zip libgdx-0.9.2.zip
Libgdx 演示 - Superjumper Super Jumper 是一个非常简单的 Doodle Jump 克隆。 在这里试试 跑步 克隆存储库或下载并解压缩 ZIP 文件 将项目导入您喜欢的开发环境,运行、调试和打包!
libgdx-cookbook, Libgdx跨平台游戏开发 cookbook的示例代码 Libgdx跨平台游戏开发 cookbook 示例这个库包含了 follow Saltares平台游戏开发 cookbook Libgdx和 Alberto Cejas插件所编写的源代码。样本和资源,并由...
libgdx-1.6.1版本的压缩文件
android游戏引擎 libgdx_0.9.2_api_chm版
使用LibGDX开发一个完整游戏 教程全集
libGDX游戏引擎官网地址 What's libGDX?...我们关注如何结合Android原生APP开发,使用libGDX帮助我们实现高效的特效动画。 particle Demo video box2d Demo video libGDX几篇文章总结一下: 《libGDX系列