- 浏览: 623071 次
文章分类
最新评论
-
q781253433:
qin ~.求demo看看~
Android之Widget -
zhongyuanceshi:
博主,没看到你的例子的Demo,共享下
Android之Widget
由于AndEngine包的下属类较多,并且细分也较为庞杂,在一篇文章中一次性介绍完毕几乎不可能实现。所以下面开始,小弟会就AndEngine的一些核心模块进行简明扼要的说明,但如果前文做过说明的下文会一笔带过。
PS:事实上,就连AndEngine作者也不可能做到详细介绍,毕竟到目前为止AndEngine压根没有出过文档。(连andengineexamples下的示例代码都已经和最新的AndEngine源码脱离了……)
1、关于Engine:
Engine是AndEngine的核心所在,它对AndEngine引擎中Camera、Scene等重要组件进行了统一管理,但必须和BaseGameActivity合作使用,利用EngineOptions类可以对其进行必要的参数配置。
2、关于BaseGameActivity:
如果您想正常使用AndEngine,那么当前Activity就必须继承自BaseGameActivity或其子类,否则你连初始化Engine也做不到。虽然它还有父类BaseActivity,但BaseActivity只提供了一些异步加载方法而无关AndEngine的主体实现。因此,BaseGameActivity就是实际上的AndEngine最基础用类无疑。
3、关于IResolutionPolicy:
IResolutionPolicy是一个接口类,其中只规定了onMeasure函数的实现格式。事实上,AndEngine中所有该类具体实现的作用与标准View中的onMeasure函数几乎一致,也会被标准View中的onMeasure函数重载调用(具体调用在AndEngine的RenderSurfaceView类当中)。而且除BaseResolutionPolicy外,所有AndEngine的IResolutionPolicy实现也都调用了View的setMeasuredDimensionProxy函数。
在AndEngine的org.anddev.andengine.engine.options.resolutionpolicy包下有一组IResolutionPolicy接口的具体实现,分别为BaseResolutionPolicy(除了会校验一下屏幕大小外,什么也不做)、FillResolutionPolicy(拉伸游戏画面为全屏填充,视摄像机大小不同,会有不同程度变形)、FixedResolutionPolicy(强行规定游戏画面为固定大小,此设置不会自动适应屏幕大小),RatioResolutionPolicy(按比例修正画面大小,以适应屏幕大小),RelativeResolutionPolicy(根据构建RelativeResolutionPolicy时的缩放参数,缩放游戏屏幕为指定比例)。
最后,所有IResolutionPolicy的实现类,都要随着EngineOptions于初试化时传递给Engine实例才起作用。
4、关于Camera:
该类即我们常说的游戏摄像机,在AndEngine的Camera有两种作用,一是用以调节屏幕的显示区域,二是利用HUD类实际绘制游戏屏幕于手机之上。
5、关于Scene:
场景容器,作用类似于LGame中的Screen,能够将某一特定场景作为游戏模块进行调用,我们可以利用它来切换当前游戏的画面与触摸屏监听,切换方法是利用Engine.setScene。
6、关于Entity:
Entity是IEntity接口的具体实现,也是AndEngine中无论Scene、Layer、Sprite(这个继承关系比较远,中间隔了BaseRectangle、RectangularShape、GLShape、Shape等上级类,不过追溯源头始终继承自Entity)的统一父类,通过Entity我们可以让AndEngine中场景,或场景中某精灵实现统一效果的缩放、旋转、变色等操作。
7、关于Texture:
Texture是AndEngine所提供的纹理用类,但Texture本身(在AndEngine中)并没有提供加载图片的方法,必须通过TextureRegionFactory类(更准确的说,依赖它内部封装的TextureRegion、BuildableTexture等类)与之合作才可以加载纹理。除此之外,AndEngine要求所加载纹理(图片)大小必须为2的整数次幂。
8、关于TextureRegion:
TextureRegion的父类是抽象类BaseTextureRegion,主要功能也被封装在BaseTextureRegion类当中,AndEngine提供了TextureRegionFactory这个工厂类用以简化构建TextureRegion的流程。单就TextureRegion来讲,它的作用似乎就是让系统知道如何剪切一个纹理,并返回一个这样的纹理给你。
然而,事实上AndEngine中只有TextureRegion才更接近于通常意义上的Texture。或者说,只有TextureRegion + Texture时,我们才能较为完整的使用AndEngine纹理功能。严肃的讲,AndEngine中的Texture有很多功能必须靠TextureRegion最终完成,比如AndEngine中的Sprite必须加载TextureRegion才能使用Texture,而不是直接调用Texture,TMXTiledMap中读取指定瓦片返回的也是TextureRegion,而非直接的Texture(进行画面渲染时AndEngine内部会调用TextureRegion中的Texture引用,但也只允许如此调用);应该说,AndEngine中见Texture几乎必见TextureRegion,二者无法分离,缺一不可。
9、关于TextureOptions
在AndEngine中,TextureRegionFactory类决定纹理的加载路径,Texture类作为承载纹理的实体对象,而TextureOptions类决定了纹理的渲染方式。
也即是说,OpenGLES将以何种方式显示纹理图像,都由TextureOptions类所决定。在当前最新版本的AndEngine中,默认提供了:
1、NEAREST(Nearest滤波,实现上依赖GL_NEAREST做不光滑过滤,纹理环绕模式为GL_CLAMP_TO_EDGE,显示速度快画质差)
2、BILINEAR(双线性插值,实现上依赖GL_LINEAR做线性滤波,纹理环绕模式为GL_CLAMP_TO_EDGE,显示速度慢画质佳)
3、REPEATING(与NEAREST同为Nearest滤波,但纹理环绕模式为GL_REPEAT,会自动填充纹理上的空白区域,显示速度较快画质差)
4、REPEATING_BILINEAR(与BILINEAR同为双线性插值,但纹理环绕模式为GL_REPEAT,会自动填充纹理上的空白区域,显示速度很慢画质佳(低端机跑此模式异常悲剧,高端机尚可))
5、NEAREST_PREMULTIPLYALPHA(所有[PREMULTIPLYALPHA]结尾的TextureOptions与其它同名类差别仅在于是否支持根据Alpha值设置透明纹理,以下同)
6、BILINEAR_PREMULTIPLYALPHA
7、REPEATING_PREMULTIPLYALPHA
8、REPEATING_BILINEAR_PREMULTIPLYALPHA等静态对象。
以上TextureOptions实例都可以通过“TextureOptions.XXXXXX”的方式进行引用并设置给Texture。事实上,除了AndEngine提供的Texture渲染模式,我们也可以按照规则自行构建需要的TextureOptions。
比如构建一个混插的TextureOptions:
new TextureOptions(GL10.GL_LINEAR_MIPMAP_LINEAR, GL10.GL_LINEAR_MIPMAP_NEAREST, GL10.GL_REPEAT, GL10.GL_REPEAT, GL10.GL_MODULATE, true);
另外,TextureOptions默认还有DEFAULT模式,不过该模式实际引用为NEAREST_PREMULTIPLYALPHA,也就是纹理低画质但支持Alpha。如果您想要兼容低端机,则建议不要使用含有【BILINEAR】字样的AndEngine加载大图,而应直接使用TextureOptions.DEFAULT或TextureOptions.NEAREST_PREMULTIPLYALPHA;因为BILINEAR模式对硬件要求较高,如果以此模式将较大纹理放到低端机上渲染,速度很可能无法保证。但是,假如您的游戏只针对高端机用户便无需介怀了。
发表评论
-
Android之Fastboot、Recovery基础知识
2013-12-19 22:13 1065参考文章: http://blog.csdn.net/y9 ... -
Eclipse设置主题
2013-10-26 22:32 690下载自己喜欢的主题: http://eclipsec ... -
gitignore文件的配置
2013-09-24 15:29 1720gitignore文件在Android ... -
Eclipse安装Git插件
2013-09-24 14:20 780http://jiangli.easymorse.com/?p ... -
Eclipse像Xcode一样自动有提示
2013-09-05 17:04 12151. 打开Eclipse,然后打开“Preferences ... -
点九PNG技术
2013-04-16 13:26 880参考文章: http://blog.csdn.net/g ... -
Android ASE 脚本环境
2013-04-10 12:32 1181原文: http://blog.sina.com.cn/ ... -
android 按两次返回键退出
2012-12-25 20:01 1310package com.anjoyo.test; ... -
android混淆代码总结
2012-12-19 18:02 1514反编译工具下载地址:http://ishare.iask.si ... -
System.out.printf输出格式
2012-12-13 22:01 2516// 定义一些变量,用来格式化输出。 double ... -
Regex正则表达式的使用
2012-12-09 20:20 1813正则表达式是用来描述某些字符串规则的工具,可以用此规则来做 ... -
IOS&Android开发 使用特殊字体,使用自定义字体
2012-11-24 00:16 1563IOS开发: 原文链接:http://tieba.baidu ... -
AspectJ的安装和Eclipse的AJDT插件的配置
2012-11-19 15:21 4931安装AspectJ是为了正常使用软件MonkeyTalk 1 ... -
Mac配置android开发环境
2012-11-13 16:18 48一.Eclipse的下载 到网站:http ... -
RelativeLayout相关属性
2012-11-13 14:49 955android:layout_centerInP ... -
Android资源文件
2012-11-04 15:22 981res [res中共有10种文 ... -
activity的启动方式(launch mode)
2012-11-04 15:14 859其他很详细的参考:http://blog.csdn.net/b ... -
android分享功能的实现(分享到微博空间等)
2012-11-03 22:15 2203//Intent intent = new Inten ... -
Android开发环境配置
2012-11-03 20:04 8751、JDK安装: http://jing ... -
android intent和intent action大全
2012-09-13 20:25 1054android 中intent是经常要用到的。不管是页面 ...
相关推荐
AndEngine是一款专为Android平台设计的游戏开发框架,它简化了2D游戏的创建过程,让开发者无需深入理解底层图形库,就能快速构建出高质量的移动游戏。本示例旨在介绍如何利用AndEngine进行游戏开发,通过实例化引擎...
通过分析源代码和阅读教程,学习者可以掌握AndEngine的基本用法,例如设置场景、添加实体、实现物理行为、处理用户输入和更新游戏逻辑。 总的来说,这个压缩包文件提供了一个很好的机会,让对AndEngine感兴趣的...
### AndEngine学习:环境配置与扩展包导入详解 AndEngine是一款专为Android平台设计的开源游戏开发框架,因其高效、灵活以及丰富的功能而备受开发者青睐。本文将详细解析AndEngine的环境配置步骤以及如何导入其扩展...
《AndEngine > 学习1》 AndEngine是一款开源的Android游戏开发框架,它基于OpenGL ES 2.0,提供了一套简洁、高效的游戏开发接口,使得开发者可以快速地创建2D游戏。这个主题的学习主要涵盖了AndEngine的基本概念、...
AndEngine是一款专为Android平台设计的2D游戏开发框架,它提供了一套高效、易用的API,使得开发者能够快速构建各种2D游戏。AndEngine源码的分析和理解对于想要深入学习Android游戏开发的人来说至关重要。 1. **...
AndEngine是一款专为Android平台设计的2D游戏开发引擎,由Nathan Greno开发并维护。这个引擎以其轻量级、高效能和易用性而受到开发者们的青睐,特别是对于那些希望快速创建2D游戏或者没有太多图形编程经验的开发者来...
"使用AndEngine的一个DEMO"是基于这个引擎开发的一个示例项目,它展示了AndEngine的基本用法和功能,帮助初学者理解和学习如何在实际中运用AndEngine。 首先,AndEngine的核心是它的Scene类,它是所有游戏内容的...
AndEngine是一款开源的游戏开发引擎,专门用于Android平台,它简化了2D游戏的开发过程,提供了丰富的图形渲染功能。这个压缩包包含的是AndEngine的核心库文件`andengine.jar`以及2013年的最新版本,这表明它可能包含...
AndEngine是一款专为Android平台设计的游戏开发引擎,它简化了2D游戏的创建过程,让开发者无需深入理解底层图形库,就能快速构建游戏。本入门篇将带你了解AndEngine的基本概念、架构以及如何开始你的第一个AndEngine...
在Android游戏开发中,AndEngine是一个非常受欢迎的2D游戏引擎,它允许开发者轻松地创建出高质量的2D游戏。本篇文章将详细讲解AndEngine中精灵(Sprite)及其动作(Animations)的应用,以一个简单的例子为基础,...
AndEngine是一款专为Android平台设计的游戏开发框架,它允许开发者使用Java语言进行2D游戏的开发,无需深入了解底层图形库,极大地简化了游戏制作过程。AndEngine以其高效、易用和社区活跃而受到众多独立开发者和...
AndEngine是一款针对Android平台开发2D游戏的开源引擎,它以简单易用和高效著称。这个Demo是AndEngine官方网站提供的示例集合,用于帮助开发者更好地理解和学习如何使用AndEngine来构建游戏。以下是对AndEngine及其...
这个最新的AndEngine游戏引擎源码包,对于任何致力于Android游戏开发的人来说,都是一份极其宝贵的学习资料和开发工具。 AndEngine的核心优势在于其简洁的API设计,使得开发者能够快速地构建2D游戏,而无需深入了解...
AndEngine是一款开源的Android游戏开发框架,专注于2D游戏的制作。它基于OpenGL ES 2.0,提供了高效且简洁的API,使得开发者能够快速构建高质量的2D游戏。AndEngine经典实例是针对这个框架的一系列官方示例,旨在...
在Android游戏开发领域,AndEngine是一个非常流行的2D游戏开发框架,以其高效、轻量级和易于学习的特点深受开发者喜爱。本篇文章将深入探讨AndEngine的核心概念,以及如何通过源代码来理解并学习这款经典游戏“捕鱼...
源码是学习一个软件或库的最佳途径,因为它揭示了内部的实现细节和设计决策。AndEngine的源码结构清晰,注释丰富,对于初学者来说,这是一个绝佳的学习资源。 AndEngine的核心特性包括: 1. **OpenGL ES 2.0支持**...
《AndEngine游戏-DeliveryBoy-源代码》是一个用于学习AndEngine游戏开发的示例项目,其主要内容涵盖了AndEngine的基本使用、游戏逻辑构建以及资源管理等多个方面。AndEngine是一款流行的开源Android游戏开发引擎,它...
5. **活跃社区**:AndEngine拥有一个活跃的开发者社区,提供了丰富的教程和示例代码,便于学习和交流。 在使用AndEngine的jar包进行开发时,你需要了解以下几个关键知识点: **1. 安装与集成** - 将下载的...
AndEngine是一款开源的、免费的2D游戏开发引擎,专为Android平台设计。这款引擎以其简单易用的API和高效性能而受到许多初级和中级游戏开发者喜爱。AndEngine的中文文档是开发者学习和掌握该引擎的重要资源,尤其对于...
通过学习这个教程或运行提供的代码,开发者可以深入理解AndEngine中的碰撞检测机制,这对于创建具有互动性的游戏至关重要。对于初学者来说,这是一次很好的实践机会,可以提升对AndEngine和游戏开发的理解。