还是利用e3roid的学习方法,再理过AndEngine;但有几点不同。首先AndEngine缺乏文档,所以方法不得已简化为源码+实例;其次,比较的目的依旧是e3roid的应用,所以从细致程度上不如前者。另外,由于AndEngineExample与e3roid不同,并不仅仅展示单一功能,而是较为复杂,其分类也就显得不那么清晰,因而遗漏问题可能较为严重,如有需要在真机到手之后会单独开文讲述。
AndEngine分为以下几个部分,即audio, engine, entity, input, opengl, ui, util。与e3roid相比,其中,engine大致与e3roid相当,entity大致与drawable相当,input大致与event相当,物理部分通过扩展包实现,同样是box2d。
但与形同虚设的e3roid相比,AndEngine显然提供了更为强大的audio支持,SoundFactory与MusicFactory令声音的控制更为自如。与此相关的官方实例有MusicExample, SoundExample等。
engine一项中也包含了比e3roid更多的内容,如camera(用以调节屏幕的显示区域,利用HUD类实际绘制游戏屏幕于手机之上),option(设置),handler(基本的碰撞检测,物理与时间等内容)以及其他特殊功能(如分屏等)。当然,也提供了如e3roid一般的fps限制以适应低端机型。与此相关的官方实例有BoundCameraExample, CollisionDetectionExample, TextrueOptionExample, DigitalOnScreenControlExample等。HUD为对于camera的继承,其下有control。此处架构有些混乱。
entity一项,除了在e3roid中我们已经见过的modifier, shape, scene, sprite等,AndEngine还增加了particle(用于粒子效应), text与primitive(基本的线、面、矩形)。与此相关的官方实例有AnimatedSpritedsExample, AutoParallaxBackgroundExample, ChangeableTextExample, EntityModifierExample, EntityModifierregularExample, LineExample, ParticleSystemSimpleExample, ParticleSystemCoolExample, ParticleSystemNexusExample, PathModifierExamle, RectangleExample, SpriteBatchExample, SpriteExample, SpriteRemoveExample, TextExample, TickerTextExample, TMXTiledMapExample, MenuExample, SubMenuExample, TextMenuExample等。需要说明的是,MenuScene为对CameraScene的继承,而后者是对Scene的继承。与engine中的camera并不相同。
input是另一个AndEngine优于e3roid之处,被分为sensor(用于重力感应)与touch(用于触屏)两项。与此相关的官方实例有MultiTouchExample, TouchDragExample。
ui将可继承的activity进行分类,用于不同的目的,如LayoutGameActivity等;除此之外,还特别增加了Dialog。
opengl下有texture等内容。
physics下相关实例有PhysicsCollisionFilteringExample, PhysicsExample, PhysicsFixedStepExample, PhysicsJumpExample, PhysicsMouseJointExample, PhysicsRemoveExample, PhysicsRevoluteJointExample等。基本上把box2d的实例搬过来了。
从以上简单粗略的梳理可以看出,e3roid基本上是一个简化版的AndEngine。在一些基础功能上,AndEngine要优于e3roid,如input与audio。但同时AndEngine也存在封装过度的问题。可以说功能与复杂并行。进一步的研究有待后续进行。
AndEngine分为以下几个部分,即audio, engine, entity, input, opengl, ui, util。与e3roid相比,其中,engine大致与e3roid相当,entity大致与drawable相当,input大致与event相当,物理部分通过扩展包实现,同样是box2d。
但与形同虚设的e3roid相比,AndEngine显然提供了更为强大的audio支持,SoundFactory与MusicFactory令声音的控制更为自如。与此相关的官方实例有MusicExample, SoundExample等。
engine一项中也包含了比e3roid更多的内容,如camera(用以调节屏幕的显示区域,利用HUD类实际绘制游戏屏幕于手机之上),option(设置),handler(基本的碰撞检测,物理与时间等内容)以及其他特殊功能(如分屏等)。当然,也提供了如e3roid一般的fps限制以适应低端机型。与此相关的官方实例有BoundCameraExample, CollisionDetectionExample, TextrueOptionExample, DigitalOnScreenControlExample等。HUD为对于camera的继承,其下有control。此处架构有些混乱。
entity一项,除了在e3roid中我们已经见过的modifier, shape, scene, sprite等,AndEngine还增加了particle(用于粒子效应), text与primitive(基本的线、面、矩形)。与此相关的官方实例有AnimatedSpritedsExample, AutoParallaxBackgroundExample, ChangeableTextExample, EntityModifierExample, EntityModifierregularExample, LineExample, ParticleSystemSimpleExample, ParticleSystemCoolExample, ParticleSystemNexusExample, PathModifierExamle, RectangleExample, SpriteBatchExample, SpriteExample, SpriteRemoveExample, TextExample, TickerTextExample, TMXTiledMapExample, MenuExample, SubMenuExample, TextMenuExample等。需要说明的是,MenuScene为对CameraScene的继承,而后者是对Scene的继承。与engine中的camera并不相同。
input是另一个AndEngine优于e3roid之处,被分为sensor(用于重力感应)与touch(用于触屏)两项。与此相关的官方实例有MultiTouchExample, TouchDragExample。
ui将可继承的activity进行分类,用于不同的目的,如LayoutGameActivity等;除此之外,还特别增加了Dialog。
opengl下有texture等内容。
physics下相关实例有PhysicsCollisionFilteringExample, PhysicsExample, PhysicsFixedStepExample, PhysicsJumpExample, PhysicsMouseJointExample, PhysicsRemoveExample, PhysicsRevoluteJointExample等。基本上把box2d的实例搬过来了。
从以上简单粗略的梳理可以看出,e3roid基本上是一个简化版的AndEngine。在一些基础功能上,AndEngine要优于e3roid,如input与audio。但同时AndEngine也存在封装过度的问题。可以说功能与复杂并行。进一步的研究有待后续进行。