游戏引擎AndEngine总结(九):三种加载图片资源的方法

原创 2012年03月30日 08:34:15

在AndEngine中,我们加载图片资源通常使用的是放在assets目录下的加载方式,其他的方式用到的很少,可能是因为例子里面只提供了这种方式的原因吧,其实AndEngine还为我们提供了其他两种方式,一种是app中常用到的从res目录下的图片资源的加载(通过R.java文件加载),另一种是从SD card或者沙盒中加载!后两种用到的可能比较小,但是有些需求就必须要用到其他方式,比如加载用户的照片资源等等。。。


1.从assets目录中加载资源,这是最基本也是最常用的方式,很多例子中都是这样用的,不解释了,上代码

// 传统的加载asset目录下资源的方式
		assetsBitmapTextureAtlas = new BitmapTextureAtlas(getTextureManager(), 128, 128);
		assetsTextureRegion = (TextureRegion) BitmapTextureAtlasTextureRegionFactory.createFromAsset(assetsBitmapTextureAtlas, 
				this, "assets_image.png", 0, 0);
		assetsBitmapTextureAtlas.load();


2.从res目录中加载资源,其实原理和asset是类似的,只是要通过R.java文件的方式来读取

// 传统的加载res目录下资源的方式,但是res目录下的资源会生成索引
		resBitmapTextureAtlas = new BitmapTextureAtlas(getTextureManager(), 128, 128);
		resTextureRegion = (TextureRegion) BitmapTextureAtlasTextureRegionFactory.createFromResource(resBitmapTextureAtlas, 
				this, R.drawable.res_image, 0, 0);
		resBitmapTextureAtlas.load();
这个用法很少,通常都是放在assets的目录下


3.从SD card中加载资源,这算是一个重点吧,因为有些需求会用到,但是可能大家没有注意过

(PS: 从沙盒中加载也是一样的原理,只是目录不同而已)

// 从SD card中加载资源,从沙盒中加载也是这个原理
		File resFile = new File("/mnt/sdcard/storage_image.png");
		sdBitmapTextureAlAtlas = new BitmapTextureAtlas(getTextureManager(), 128, 128);
		FileBitmapTextureAtlasSource fileBitmapTextureAtlasSource = FileBitmapTextureAtlasSource.create(resFile);
		sdTextureRegion = (TextureRegion) BitmapTextureAtlasTextureRegionFactory.createFromSource(sdBitmapTextureAlAtlas, fileBitmapTextureAtlasSource, 0, 0);
		sdBitmapTextureAlAtlas.load();
其实原理很简单,AndEngine已经为我们提供了一个叫做FileBitmapTextureAtlasSource的类了,而继承关系是FileBitmapTextureAtlasSource继承于BaseTextureAtlasSource并且实现IBitmapTextureAtlasSource接口,有心的同学可能发现了,在BitmapTextureAtlasTextureRegionFactory的各种create**()方法中,传入的source参数都是实现于IBitmapTextureAtlasSource接口的。


简单介绍一下,想深入的同学继续看AndEngine源码吧!

附上我那弱弱的Demo源码,点击下载



andengine游戏引擎总结基础篇

其他的游戏引擎知道的不是很对,不过相对于学java的童鞋们来说,那是个不错的选择啦,这个发动机咋样,google去吧。        对于游戏开发,也就是把静待的图片动态化,同时加点音效什么的。   ...
  • qzshiyongjie123
  • qzshiyongjie123
  • 2013年09月19日 22:43
  • 1680

AndEngine加载图片资源(五)

当我们继承AndEnginede的BaseGameActivity这个类时,会重写其对应的四个方法:onLoadEngine,onLoadResource,onLoadScene,onLoadComp...
  • smach1991710
  • smach1991710
  • 2013年09月07日 15:20
  • 1724

android andengine游戏引擎中图片资源的加密

androidandengine 是一款开源的2d游戏引擎,功能还是强大的,但是用它写游戏还是有诸多不足之处。其中一个就是如题  资源的加密问题。对于一个公司或者个人来说,资源的保护非常的总要的。看来...
  • bobai2009
  • bobai2009
  • 2013年01月22日 20:45
  • 1654

二叉树的三种遍历方式总结

最近学了二叉树的三种遍历方式,即前序遍历,中序遍历,后序遍历三种,仔细思索后,在此简单总结一下。 一.二叉树示意图 假设有一颗二叉树如下: 二.遍历分析 每一颗二叉树由根节点,左子树,...
  • qq_35603331
  • qq_35603331
  • 2017年07月27日 20:37
  • 348

Android 游戏引擎AndEngine(加载场景)

package gongzibai.co.cc; import org.anddev.andengine.engine.Engine; import org.anddev.andengine.en...
  • gongzibai
  • gongzibai
  • 2012年06月23日 16:32
  • 1072

andengine游戏引擎总结进阶篇2

本篇包括瓦片地图,物理系统          1瓦片地图                   超级玛丽,冒险岛,魂斗罗等游戏主场景都有瓦片地图画成,它的作用可见一斑,它可以用tiled Qt软件画成,...
  • qzshiyongjie123
  • qzshiyongjie123
  • 2013年09月20日 11:30
  • 1577

andengine游戏引擎总结进阶篇1

本篇包括虚拟键盘,粒子系统,物理系统,瓦片地图    1虚拟键盘       分为两种,一种是单个虚拟键盘,另一种是多个方位虚拟键盘       1)加载虚拟键盘所需要的图片资源 private B...
  • qzshiyongjie123
  • qzshiyongjie123
  • 2013年09月20日 10:21
  • 1537

三种参数估计方法的总结

常见的三种参数估计的方法:最大似然估计法、最大后验估计法、贝叶斯估计法 示例情景:θ为抛一次硬币下面朝上的概率,其服从参数α和β的Beta分布,而X=(x1, x2)则是一个向量,表示观测结果,x1...
  • cughuhao
  • cughuhao
  • 2015年03月17日 18:05
  • 251

AndEngine游戏开发系列教程(一)

AndEngine基于libGDX框架开发,使用OpenGL ES进行图形绘制,底层使用C++编写,通过JNI调用来实现,因此比较高效,功能强大。同时集成了Box2D物理引擎,因此能实现一些较为复杂的...
  • lan410812571
  • lan410812571
  • 2013年08月02日 14:39
  • 12265

请说出三种减少页面加载时间的方法。

1.优化图片  2.图像格式的选择(GIF:提供的颜色较少,可用在一些对颜色要求不高的地方)  3.优化CSS(压缩合并css,如margin-top,margin-left...)  4.网址...
  • palette_
  • palette_
  • 2017年05月03日 16:25
  • 792
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:游戏引擎AndEngine总结(九):三种加载图片资源的方法
举报原因:
原因补充:

(最多只允许输入30个字)