PauseExample:画面上Paused几个字是一个Sprite,不是窗口什么的。LoadScene的时候虽然返回的是MainScene, 但还创建了一个CameraScene,在Camera中间显示Paused几个字。当按下Menu键的时候,调用Engine的Stop方法停止游戏。再次点击的时候再Start。
MenuExample:猛击Menu键的时候跳出来两个Sprite按钮Reset和Quit。实现与上例不同,这里用了MenuScene类显示Menu。具体是这么用:
this.mMenuScene = new MenuScene(this.mCamera);
SubMenuExample:继承自上面例子的Activity,比上面的例子更进一步,加入子菜单和动画效果。又创建了一个MenuScene作为submenu,加了OK,BACK两个SpriteMenuItem按钮进去。并且this.mSubMenuScene.setMenuAnimator(new SlideMenuAnimator())设置子菜单的动画模式为滑动。在亲菜单点Quit按钮时,调Scene.setChildSceneModal(Scene pChildScene)显示子菜单。
TextMenuExample:前面的菜单文字都是Sprite图像,本例是文字菜单。用的MenuItem是TextMenuItem类。本例还用ColorMenuItemDecorator设置了Menu被点击时的颜色。ColorMenuItemDecorator顾名思义是个Decorator模式,本身也是MenuItem的子类。
ZoomExample:平滑缩放摄像机SmoothCamera的应用。TouchEvent.ACTION_DOWN的时候mSmoothCamera.setZoomFactor(5.0f)摄像机以放大5倍为目标以定速放大视界,ACTION_UP的时候再mSmoothCamera.setZoomFactor(1.0f)缩回一倍大小。SmoothCamera类的setMaxVelocity可以控制平滑缩放的速度。
ImageFormatsExample:各种图片的使用方法没什么特别的。不过可以看出png,jpg,bmp图片能够正常解码,gif的不行,可能因为android本身就不直接支持gif的解码吧。
TextureOptionsExample:生成TextureRegion之后,setWidth设置宽度为图的10倍,这导致图像被水平向的重复的绘制在textregion里。用这个texture生成sprite的时候又指定目标高为texture高的2倍,导致其被拉长绘制但不重复绘制。
TexturePackerExample:用XML组织的多个位置相对固定的Texture包,叫Texturepack。核心是TexturePack类。本例有误,大概还是路径的问题,没时间调试了。
ColorKeyTextureSourceDec
LoadTextureExample:装载texture。
UpdateTextureExample: 点击Scene动态加载Texture。点击屏幕后,把当前的BitmapTexttureAtlas调用clearTextureAtlasSources
RunnablePoolUpdateHandle
XMLLayoutExample:一般的android应用界面由xml设定,LayoutGameActivity也可以实现同样的功能。
LevelLoaderExample:用LevelLoader类装载关卡。LevelLoader的实现就是个XML解析器。查找某个节点名,在onLoadEntity事件处理,所以你需要自行实现onLoadEntity。