`
totoxian
  • 浏览: 1075759 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

AndEngine 学习系列1-开始

 
阅读更多

最近学习AndEngine,不过资料较少。找到一个英文的网站,作者更新了一系列的教程,觉得还不错。就当学习英文吧,翻译出来也作备忘。

作者是位住英国的19岁波兰程序猿,这是他的个人网站:http://www.matim-dev.com/index.html,有兴趣可以直接去看。以下是第一部分的内容:

一。开始:

1.Andengine介绍:

Ae是一个基于OPENGL的开源免费游戏引擎,作者是NicolasGramlich。该引擎封装了OPENGL的大多数重要功能,意味着即使你没有OPENGL编程经验,也可以使用该引擎 来创建游戏,只要你有JAVA编程经验。

l引擎的主要特点:

·支持不同分辨率设备的缩放。

·多点触摸支持

·物理引擎-BOX2D(愤怒的小鸟也使用该引擎)

·TMX瓦片地图支持

·粒子系统

·动态壁纸扩展支持

l使用AE的好处:

·免费开源

·游戏开发中的方方面面都被做好了

·不需要OPENGL的经验

·快速和良好的设计(注:引擎采用高内聚低耦合,模块分得很细)

·相对来说大而活跃的帮助社区(注:www.andengine.org

·不错的引擎扩展(注:8还是9个扩展包)

·大量的实例,告诉你引擎能做什么

l不足:

·几乎没有代码文档

·有时候速度比不上其他引擎

·缺乏文档是初学者的最大困难

不过实例,社区还有我的(作者的)这个网站也能给初学者极大帮助

2.搭建开发环境:

环境的搭建参造RealMayo的视频,里面说得很详细。。。。。。。。。。。。

3.重要概念:

本节描述引擎中的重要概念,简单地说就是引擎中最常用到的类和扩展.

l1.ANDENGINE-核心术语(byNicolasGramlich+updatesandaddons)

Engine:

引擎通过时间片来处理游戏,周期性地同步场景的绘制和更新。你也可以使用ENGINE的子类:

·LimitedFPSEngine–试着实现限定的FPS。(注:即固定的帧数,代码中还有一种是FixStepEngine即固定步长,文中没有写。意思是每次更新传递的时间都是固定的,即使实际更新场景用的时间超过的了设定的,也会传入固定的时间。)

IResolutionPolicy:

IresolutionPolicy接口实现是EngineOptions的一部分,它告诉引擎如何处理不同设备的不同屏幕尺寸。I.E.RatioResolutionPolicy在保持比例的情况下会最大化SurfaceView到屏幕的大小。这样屏幕上的东西不会发生变形。

·RatioResolutionPolicy保持比例

·FillResolutionPolicy填充屏幕,可能被拉伸

Camera:

相机就是定义场景中可显示的部分,通常一个场景有一个相机,Camera的子类有更多功能:

·BoundCamera-可以设定场景的边界。

·ZoomCamera–可以缩放,定点缩放,滚动场景

Scene:

场景是绘制到屏幕上的所有对象的根容器,一个场景可以包含多层,每层容纳(静态或者动态地)一定数量的实体(Entity)。Scene有子类:HUD,MenuScene,CameraScene,这些子类绘制在固定位置和摄相机镜头无关。

·HUD-HeadUpDisplay.像游戏中的分数显示。(注:理解成电视频道的台标!)

Entity:

实体就是可以被绘制的对象,如,精灵Sprites,矩形Rectangles,文字Text或线条Lines等,每个实体都有,位置/旋转/缩放/颜色等等属性。

·Sprite-具有纹理(Texture)的实体(Entity)

·TiledSprite-被切开了的精灵

·AnimatedSprite-TiledSprite的扩展,可以按指定的时间播放。

Texture:

Texture就是内存中图像的一个切片。在Android上纹理的宽和高应当是2的幂(但在ELES2中没有这个要求了,可以很好地减少内存使用。)AE将许多ITextureSources源组成一个纹理,可以更合理地使用内存空间。

TextureRegion:

TextureRegion定义了Texture上的一矩形区域,用来定义精灵要绘制的部分。

4.AndEngine的官方例子:

AE虽然缺乏文档,但是别担心,实例代码可以很好帮你理解引擎如何工作,这是链接:AndEngineExamplesGitHublink

5.GLES1和GLES2的比较:

有三个AE的版本,GLES1,GLES2,GLES2AnchorCenter。GLES1已经停止开发。虽然有人说GLES2比GLES1要慢(CLICKHERE)。但是还是强烈建议使用最新版本。

6.GLES2和GLES2AnchorCenter的不同:

G2AC最有意义的改变是坐标系统。原点在左下。原因是:

·和原生OpenGL的坐标系统一致。

·cocos2d-iphoneandcocos2d-x的一致。注:我理解为就是数学上的笛卡尔坐标系

·更容易更有效构造引擎,使用AndEngineCocosBuilderExtension扩展包能读取从CocosBuilder导出的格式(COCOS有较多的工具)。

·对需要滚屏的游戏显得更自然。

另外一个变化是锚点(旋转,缩放等的中心)是个从0.01.0相对量。总得来说,这有点像cocos-2d了。这不是什么坏事。

为了更好理解G2AC的坐标系统如何工作,举个例子:

假如上图是一个场景,摄像机宽高为800x480,则:

·左下角(bottomleftcorner)为(0,0),左上(topleftcorner)为(0,480)

·左下角(bottomrightcorner)为(800,0),右上(toprightcorner)为(800,480)

·场景中有imageA,imageB,和imageC三张图。

·imageA是50X50,那么它的坐标应当是(25,25)。

·imageB200x150,要放在屏幕中间,那么它的坐标就是(400,240

AB都是与场景关联(Attached),C是与B关联,即在B的(0,0)点。

分享到:
评论

相关推荐

    andengine源码及demo

    1. **AndEngine基础** AndEngine的核心在于其强大的渲染引擎,它支持精灵(Sprites)、纹理(Textures)、纹理区域(Texture Regions)以及多边形(Polygons)等基本图形元素。此外,还有动画系统、物理引擎接口、...

    AndEngine-GLES2

    1. **OpenGL ES 2.0支持**:AndEngine-GLES2利用OpenGL ES 2.0图形库,提供硬件加速的图形渲染,使2D游戏画面更加流畅和细腻。 2. **精灵和纹理管理**:AndEngine提供了精灵(Sprite)和纹理(Texture)类,便于...

    Andengine-Android-Studio:用于游戏引擎的 Android Studio 模块,流行的标题和引擎

    4. **编写代码**:在Andengine提供的基础框架上,你可以开始编写游戏的业务逻辑和渲染代码。例如,创建场景(Scene),添加精灵(Sprite)和实体(Entity),设置触摸事件,处理物理碰撞等。 5. **调试与优化**:利用...

    andengine案例,jar包

    1. **OpenGL ES支持**:AndEngine基于OpenGL ES 2.0,这是一个为嵌入式设备设计的图形库,使得游戏能够实现高质量的图形渲染。 2. **灵活的图形系统**:AndEngine提供了一系列的图形对象,如精灵(Sprite)、纹理...

    AndEngine 经典实例

    AndEngine经典实例是针对这个框架的一系列官方示例,旨在帮助开发者理解和掌握其核心功能和特性。 在"andengineexamples-GLES2"这个压缩包中,你将找到一系列基于AndEngine GLES2分支的实例代码。GLES2代表OpenGL ...

    捕鱼海底捞andengine源代码

    AndEngine是一个基于OpenGL ES 1.1/2.0的Android游戏开发库,它提供了一系列的游戏开发工具和模块,如精灵、纹理、动画、物理引擎等,帮助开发者快速构建2D游戏。其核心功能包括: 1. **渲染系统**:AndEngine提供...

    AndEngine做的安卓游戏源码(可直接运行)

    AndEngine的核心特点在于它的模块化设计,它提供了一系列的扩展模块,如精灵管理、物理引擎支持、粒子系统等,让开发者可以根据需求选择添加。在这款游戏中,我们可能可以看到如何利用AndEngine的基本元素,如Scene...

    android捕鱼达人-andengine源码

    首先,AndEngine的核心优势在于其简洁的API设计,它使用OpenGL ES进行渲染,提供了一系列图形处理和物理模拟的工具,如精灵(Sprites)、纹理(Textures)、动画(Animations)以及粒子系统(Particle Systems)。...

    AndEngine-"河內塔"遊戲源碼

    AndEngine是一个开源的Android游戏开发框架,它允许开发者用Java语言创建2D游戏,简化了游戏开发流程,提供了一系列强大的功能,如图形渲染、物理引擎、动画处理等。 在"河内塔"游戏中,玩家需要通过移动圆盘来解决...

    AndEngine最新源代码,例子,还有jar包一应俱全

    `AndEngineSamples`目录下应该包含了一系列AndEngine的示例项目,这些实例展示了如何使用AndEngine的各项功能,对于初学者来说,是快速上手和学习AndEngine的最佳实践。 `andengineTest`可能是AndEngine的一些测试...

    一个关于andengine中精灵 动作的简单例子

    在AndEngine中,动画是由一系列连续的纹理区域组成的,通过快速切换这些区域来模拟动态效果。`Animation`类用于管理这种动画。创建动画时,你需要提供帧序列(帧间隔时间)和播放速度。 例如,创建一个行走动画: `...

    AndEngine libraries and code

    1. **AndEngine主库**:这是AndEngine的核心部分,提供了基本的图形绘制、动画处理、物理模拟等功能。它包含了一系列的Scene(场景)、Entity(实体)、Sprite(精灵)等基本游戏元素,以及Texture(纹理)、Vertex...

    AndEngine 飞机大战源码

    1. **AndEngine基础**:AndEngine是一个2D游戏开发框架,它简化了Android游戏开发过程,提供了一系列的游戏实体、图形、动画和物理引擎等工具。通过这个框架,开发者可以快速构建游戏场景,实现动态交互。 2. **...

    AndEngine 例子AnimatedSprites

    帧持续时间决定了每一帧显示的时间,循环次数可以设置为-1表示无限循环,回调接口则可以在动画开始、结束或更新时执行特定操作。 3. 动画控制:可以通过`pauseAnimation()`, `resumeAnimation()`, 和 `...

    AndEngine 文档

    这个文档集合是AndEngine的入门指南,包含了丰富的信息,帮助开发者从零开始学习如何利用这个强大的工具来创建自己的游戏。 一、AndEngine的基础概念 AndEngine是一个开源的、轻量级的游戏引擎,其核心设计理念是...

    Andengine_for_android_game_development

    1. AndEngine普通版(AndEngineORG):这是一个基础的游戏开发框架,适合初学者入门学习。 2. AndEngine扩展版(AndEngineExtensions):包含多种扩展插件,例如物理引擎、场景2D、粒子系统等,可以大大增加游戏的可...

    Android 2D游戏引擎AndEngine快速入门教程

    AndEngine是一款专为Android平台设计的2D游戏开发引擎,它简化了2D游戏的创建过程,让开发者能够更专注于游戏的设计和逻辑,而非底层图形处理。...现在,打开提供的PDF教程,开始你的AndEngine学习之旅吧!

    AndEngine游戏引擎中文文档

    AndEngine提供了一系列的教程和示例代码,使得开发者可以更方便地学习和使用该引擎进行游戏开发。文档中还提供了相关的项目站点和示例代码库的链接,方便开发者下载和学习。 需要注意的是,AndEngine的中文文档相对...

    andengine背景滚动循环

    首先,AndEngine是一个基于Android平台的开源2D游戏引擎,它提供了一系列直观的API,使得开发者可以快速构建高质量的2D游戏。AutoParallaxBackground是AndEngine图形库中的一个类,用于实现自动平移的背景效果,这种...

Global site tag (gtag.js) - Google Analytics