Andengine 学习笔记-整体框架认知

浏览了一下Andengine的源码,总结一下整个Andengine的框架的抽象方法。

大体上来说,Andengine的API分为几类,一类关注于图像的处理:如何将图片资源从文件读取到内存,并且做好缓存等管理工作;一类则关注于构建游戏:将整个游戏画面抽象为一个一个的Scene、每个Scene里又有一层一层的图像。

图像处理的API又有两层抽象,第一层是图像本身的抽象,父接口是ITexture。


[img]http://dl.iteye.com/upload/attachment/0082/7353/fc1cd774-ae6a-3e28-883b-d05563de339b.png[/img]

这里的类主要负责加载图片资源,更优化的做法是使用Atlas地图类,其中加入了批量和缓存的一些优化。

第二层抽象是图像抽取方法的抽象,父接口是ITextureRegion。


[img]http://dl.iteye.com/upload/attachment/0082/7355/89875e53-9a13-3876-afd3-913d0a79d9f2.png[/img]

这些类记录了目标Texture在大Texture中的位置信息,我们在操作Sprite的时候,一般图像的参数都是ITextureRegion。

构建游戏的API则分为很多模块。
Engine模块,负责驱动游戏时间逻辑、接收事件,是框架的主类。

Entity模块,在Andengine的框架中,所有的屏幕上的元素都是Entity,所以Entity中封装了元素的位置信息、颜色、角度等等。Entity是一个相对抽象的类,它有很多子类,分别代表我们看到的各个元素的抽象。如,常见的长方形、字符串、更重要的是Sprite子类,它代表一个被贴图的形状,这样我们就可以把图片和元素结合起来,变成我们看到的“活”的元素。
Scene也是Entity的子类,并且是第一个被创建的Entity,它是游戏画面里最基本的元素,相当于最下面那一层画面。

Camera模块, Camera代表我们的可视区域,因为一个Scene可以很大,大到超过屏幕的显示范围,而Camera才是我们真正看到的那个区域。了解了Camera,自然的我们可以想到Camera可以支持放大和缩小的操作;另外Camera是可以移动的,代表着我们可视区域在移动。

[img]http://dl.iteye.com/upload/attachment/0082/7374/04ce5b95-2373-3306-99de-e63ee1d9c053.jpg[/img]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值