打地鼠安卓开发
- 格式:wps
- 大小:462.50 KB
- 文档页数:8
《案例分析》论文题目: 基于Android开发的打地鼠游戏的设计与实现姓名: 李兵班级: 计算机120学号: 18811200072015 年 11月 13日目录摘要 (1)关键词 (1)1 游戏介绍 (1)1.1 开发工具介绍 (1)1.2 游戏系统功能介绍 (1)1.3 游戏流程图 (1)2 游戏设计 (2)2.1 区域触摸代码 (2)2.2 结束退出代码 (2)2.3 场景图片代码 (3)3、系统整体测试 (4)3.1游戏运行时 (4)3.2游戏结束 (4)4、总结 (5)5、参考文献 (5)基于Android开发的打地鼠游戏的设计与实现计算机科学与技术专业李兵摘要:随着手机行业的发展,手机游戏以更简洁方便的形式深入人们的日常生活,成为人们在任何非工作场合的娱乐方式。
打地鼠是个老幼皆宜的小游戏,不仅能够让玩家放松心情、减轻压力,同时也能锻炼玩家眼力与手部灵活性。
本系统是基于Android操作系统开发的,利用Eclipse环境和JAVA语言实现的。
经过可行性研究,需求分析,总体设计,详细设计,编码实现和测试,从而实现了本系统的设计。
关键词:打地鼠;Java;Eclipse;android1 游戏设计1.1 开发工具介绍Eclipse:一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。
这种平等和一致性并不仅限于 Java 开发工具。
尽管 Eclipse 是使用Java语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如C/C++、COBOL、PHP、Android等编程语言的插件已经可用,或预计将会推出。
Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。
SDK:(software development kit)软件开发工具包。
被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。
因此,Android SDK 指的是Android专属的软件开发工具包。
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。
Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
1.2 游戏系统功能介绍地图上随机出现地鼠,用户共有12次机会打地鼠,通过鼠标点击或者手机触屏事件判断是否打中地鼠。
1.3 游戏流程图游戏流程图如图1所示:图1 游戏流程图2 游戏设计2.1 区域触摸代码endBack = new Sprite((CAMERA_WIDTH - mEndBackTextureRegion.getWidth()) / 2, (CAMERA_HEIGHT - mEndBackTextureRegion.getHeight()) / 2, mEndBackTextureRegion);againButton = new Sprite(0.0f, 0.0f, mAgainButtonTextureRegion){ @Overridepublic boolean onAreaTouched(final TouchEvent pAreaTouchEvent, final float pTouchAreaLocalX, final float pTouchAreaLocalY) {switch(pAreaTouchEvent.getAction()) {case TouchEvent.ACTION_DOWN:mHandler.post(mPlayThis);finish();break;}return true;}};2.2 结束退出代码public void onLoadResources() {TextureRegionFactory.setAssetBasePath("gfx/Scoring/");mPopUpTexture = new Texture(512, 512,TextureOptions.BILINEAR_PREMULTIPLYALPHA);mEndBackTextureRegion =TextureRegionFactory.createFromAsset(this.mPopUpTexture, getApplicationContext(), "endback.png", 0, 0);//背景mAgainButtonTextureRegion =TextureRegionFactory.createFromAsset(this.mPopUpTexture,getApplicationContext(), "againbutton.png", 0, 330);//重来按钮mQuitButtonTextureRegion =TextureRegionFactory.createFromAsset(this.mPopUpTexture, getApplicationContext(), "quitbutton.png", 50, 330);//退出按钮mEngine.getTextureManager().loadTexture(this.mPopUpTexture);this.mFontTexture = new Texture(256, 512,TextureOptions.BILINEAR_PREMULTIPLYALPHA);FontFactory.setAssetBasePath("font/");mFont32 = FontFactory.createFromAsset(this.mFontTexture, this, "Flubber.ttf", 32, true, Color.RED);mEngine.getTextureManager().loadTexture(this.mFontTexture);mEngine.getFontManager().loadFont(this.mFont32);}2.3 场景图片代码public Scene onLoadScene() {this.mEngine.registerUpdateHandler(new FPSLogger());final Scene scene = new Scene(1);//场景try {final TMXLoader tmxLoader = new TMXLoader(this,this.mEngine.getTextureManager(), TextureOptions.BILINEAR_PREMULTIPLYALPHA, new ITMXTilePropertiesListener() {public void onTMXTileWithPropertiesCreated(final TMXTiledMap pTMXTiledMap, final TMXLayer pTMXLayer, final TMXTile pTMXTile, final TMXProperties<TMXTileProperty> pTMXTileProperties) {if(pTMXTileProperties.containsTMXProperty("coffin", "true")) {coffins[coffinPtr++] = pTMXTile.getTileRow() * 15 + pTMXTile.getTileColumn();if (mCoffinGID<0){mCoffinGID = pTMXTile.getGlobalTileID();}}}});this.mWAVTMXMap = tmxLoader.loadFromAsset(this,"gfx/WAV/WAVmap.tmx");} catch (final TMXLoadException tmxle) {Debug.e(tmxle);}2.4 瓦片地图的设计private TMXTiledMap mWAVTMXMap;private TMXLayer tmxLayer;private TMXTile tmxTile;this.mWAVTMXMap = tmxLoader.loadFromAsset(this, "gfx/WAV/WAVmap.tmx"); tmxLayer = this.mWAVTMXMap.getTMXLayers().get(0);scene.getFirstChild().attachChild(tmxLayer);scene.setOnSceneTouchListener(new IOnSceneTouchListener() {3、系统整体测试3.1游戏运行时游戏运行效果如图2所示:图2 游戏运行效果图3.2游戏结束游戏结束界面包括重来、退出2部分,如图3所示public void onLoadComplete() {}private Runnable openCoffin = new Runnable() {public void run() {int openThis = gen.nextInt(coffinPtr);int tileRow = coffins[openThis]/15;int tileCol = coffins[openThis] % 15;tmxTile = tmxLayer.getTMXTileAt(tileCol*32 + 16, tileRow*32 + 16);tmxTile.setGlobalTileID(mWAVTMXMap, mOpenCoffinGID);openCoffins.add(openThis);int openTime = gen.nextInt(mOpenRate);mHandler.postDelayed(openCoffin, openTime);mHandler.postDelayed(closeCoffin, openTime+mStayOpen);}};图3 游戏结束界面4、总结通过学习打地鼠这个小游戏,让我初步了解了安卓游戏的开发及Eclipse、SDK 的使用。