A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 约吗^_^ 中级黑马   /  2015-11-17 23:54  /  385 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马