黑马程序员技术交流社区
标题: AndEngine学习笔记-Other [打印本页]
作者: 约吗^_^ 时间: 2015-11-17 23:54
标题: AndEngine学习笔记-Other
15 Other
PauseExample:画面上Paused几个字是一个Sprite,不是窗口什么的。LoadScene的时候虽然返回的是MainScene,但还创建了一个CameraScene,在Camera中间显示Paused几个字。当按下Menu键的时候,调用Engine的Stop方法停止游戏。再次点击的时候再Start。
MenuExample:猛击Menu键的时候跳出来两个Sprite按钮Reset和Quit。实现与上例不同,这里用了MenuScene类显示Menu。具体是这么用:
this.mMenuScene=newMenuScene(this.mCamera);
finalSpriteMenuItem resetMenuItem =newSpriteMenuItem(MENU_RESET,this.mMenuResetTextureRegion);
resetMenuItem.setBlendFunction(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);
this.mMenuScene.addMenuItem(resetMenuItem);
。。。。。。追加其他Menu项。。。。。。
this.mMenuScene.buildAnimations();//动画
this.mMenuScene.setBackgroundEnabled(false);
this.mMenuScene.setOnMenuItemClickListener(this);//Activity需要实现IOnMenuItemClickListener接口,并在onMenuItemClicked里处理各MENU项的事件。MenuScene的reset方法resetMenuScene和其中的各MenuItem。Back方法调用reset方法,并关闭菜单。this.mMainScene.clearChildScene();这句有点多余,reset内部已经调用了。另外点击Quit的时候调用了当前Activity的finish方法结束Activity。
SubMenuExample:继承自上面例子的Activity,比上面的例子更进一步,加入子菜单和动画效果。又创建了一个MenuScene作为submenu,加了OK,BACK两个SpriteMenuItem按钮进去。并且this.mSubMenuScene.setMenuAnimator(newSlideMenuAnimator())设置子菜单的动画模式为滑动。在亲菜单点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类。本例有误,大概还是路径的问题,没时间调试了。
ColorKeyTextureSourceDecoratorExample:去掉图里的指定颜色,使之透明。好像PC游戏的Sprite抠图。关键类ColorKeyBitmapTextureAtlasSourceDecorator。
LoadTextureExample:装载texture。
UpdateTextureExample:点击Scene动态加载Texture。点击屏幕后,把当前的BitmapTexttureAtlas调用clearTextureAtlasSources,清除Texture。再重新createTiledFromAsset。无需更新Sprite,他会自动更新。
RunnablePoolUpdateHandlerExample:RunnablePoolUpdateHandler是个线程池,容纳各种UpdateHandler的。本例的线程池容纳的RunnablePoolItem用来旋转face。
XMLLayoutExample:一般的android应用界面由xml设定,LayoutGameActivity也可以实现同样的功能。
LevelLoaderExample:用LevelLoader类装载关卡。LevelLoader的实现就是个XML解析器。查找某个节点名,在onLoadEntity事件处理,所以你需要自行实现onLoadEntity。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |