Andengine学习心得(一)

 1.程序创建阶段 

  onLoadEngine() 中设定摄像头和引擎选项

  onLoadResources()中载入纹理资源。BitmapTextureAtlas类继承了Texture类,其相当于是一块纹理的大画布,width和height参数必须是2的N次方,所有的纹理都通过TextureRegionFactory加载到画布上,加载时的横纵参数是纹理图在画布上面的位置坐标,这取决于纹理源图的大小,如果一张纹理源图包含了多张frame则要调用Factory的createTiledFromAsset()函数,并且标明“砖块”的行数和列数(可以设想这些frame像砖块一样横纵铺展)。最后调用engine的getTextureManager().loadTexture(),将画布关联到引擎的TextureManager上面去。

  onLoadScene()需要创建场景变量并且返回。场景中的物体创建好后,都要attachChild()加载到场景中来。场景中物体的创建(物体的构造函数)需要用到前面的TextureRegion变量,这里xPosition,yPosition是物体在场景中的坐标位置。场景中可以加载d的不仅仅有sprite,还可以是Line,Rectangle等图形元素。

  onLoadComplete()还没见到具体代码。

  Sprite的容器不仅仅是Scene,可以使用SpriteBatch批量绘制Sprite,SpriteBatch又分为静态的和动态的,把SpriteBatch设想为画布,静态的必须要指定每个Sprite在画布中的绘制位置,长宽,比例,旋转等参数,而动态的则根据每个Sprite自身的参数绘制。最后,要把SpriteBatch添加到Scene中。

  2.程序运行阶段

  我们已经知道如何向Scene中添加物体,那么要如何删除呢?移除实体只有在更新线程(UpdateThread)中实行才是安全的,当在更新或者绘制的时候移除,会导致实体丢失的异常。或者我们可以在TouchEvent中来实行,因为它默认设置中会调用runUpdateThread函数。这一设置在onLoadEngine()中创建引擎时通engineOptions.getTouchOptions().setRunOnUpdateThread(true)实现。

  scene.setOnSceneTouchListener来实现场景对触屏的消息响应。

  如果想让纹理动态变化,可以先clearTextureAtlasSources(),再使用BitmapTextureAtlasTextureRegionFactory.createFromAsset ()重新进行关联。

  The TimerHandler lets you decide how often you want it to be updated while the IUpdateHandler updates simply whenever the game is updated.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值