AndEngine实现Sprite更换图片
来源:互联网 发布:centos创建网络 编辑:程序博客网 时间:2024/06/11 18:25
也是在游戏中很常用的功能,参考了官方的例子UpdateTextureExample,不同的是我使用的是Sprite和TextureRegion,而官方例子中是AnimatedSprite和TiledTextureRegion。其实原理是一样的。
我准备了2张图片a.jpg和b.jpg,Scene启动时加载a.jpg,点击Scene在两张图片间进行切换。
public class MainActivity extends SimpleBaseGameActivity {private static final int CAMERA_WIDTH = 320;private static final int CAMERA_HEIGHT = 480;private BitmapTextureAtlas mBitmapTextureAtlas;private TextureRegion mFaceTextureRegion;private boolean mSmile = true;@Overridepublic EngineOptions onCreateEngineOptions() {Toast.makeText(this,"Touch the screen to update (redraw) an existing BitmapTextureAtlas with every touch!",Toast.LENGTH_LONG).show();final Camera camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);return new EngineOptions(true, ScreenOrientation.PORTRAIT_FIXED,new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), camera);}@Overrideprotected void onCreateResources() {BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/");this.mBitmapTextureAtlas = new BitmapTextureAtlas(this.getTextureManager(), 128, 128, TextureOptions.BILINEAR);this.mFaceTextureRegion = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.mBitmapTextureAtlas, this, "a.jpg", 0, 0);this.mBitmapTextureAtlas.load();}@Overrideprotected Scene onCreateScene() {this.mEngine.registerUpdateHandler(new FPSLogger());final Scene scene = new Scene();scene.setBackground(new Background(0.09804f, 0.6274f, 0.8784f));final float centerX = (CAMERA_WIDTH - this.mFaceTextureRegion.getWidth()) / 2;final float centerY = (CAMERA_HEIGHT - this.mFaceTextureRegion.getHeight()) / 2;final Sprite face = new Sprite(centerX, centerY, mFaceTextureRegion,this.getVertexBufferObjectManager());scene.attachChild(face); // scene的点击事件scene.setOnSceneTouchListener(new IOnSceneTouchListener() {@Overridepublic boolean onSceneTouchEvent(Scene pScene,TouchEvent pSceneTouchEvent) {if (pSceneTouchEvent.isActionUp()) { // 通过一个条件来判断当前需要加载哪张图片MainActivity.this.mSmile = !MainActivity.this.mSmile;BitmapTextureAtlasTextureRegionFactory.createFromAsset(MainActivity.this.mBitmapTextureAtlas,MainActivity.this,MainActivity.this.mSmile ? "a.jpg" : "b.jpg", 0, 0);}return false;}});return scene;}}
- AndEngine实现Sprite更换图片
- AndEngine实现Sprite更换图片
- ugui Sprite更换图片
- cc.Sprite动态更换图片
- unity3d 更换sprite renderer中sprite的图片
- unity3d 更换sprite renderer中sprite的图片
- 内联图片实现css sprite
- AndEngine实现屏幕截取和图片保存
- AndEngine图片变灰效果实现
- andengine多张小图片实现动画精灵效果
- 更换Sprite贴图
- js实现点击更换图片
- photoshop实现图片更换背景
- andengine编程之sprite(一)
- andengine编程之sprite(二)
- andengine编程之sprite(三)
- andengine编程之sprite(四)
- andengine编程之sprite(四)
- Qt获取多边形(QGraphicsPolygonItem)或Qt图形组件与直线(QLineF)的交点
- 如何删除arcsde服务
- 内核风格缩进工具indent
- 一些重要网址
- Linux I2C设备读写应用程序
- AndEngine实现Sprite更换图片
- 土豆网8月24起在纳市摘牌 CEO王微宣布退休
- [English Homework] Persentaion about my company
- sssddrfrr
- VC共享内存实现进程间数据的交换
- 简历
- Linux 常用C函数
- eclipse插件安装
- font , color and Auto-mode customization